[VB.NET] Foutmelding: System.InvalidCastException

Pagina: 1
Acties:

  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
Hallo,

Bij het opslaan van een aantal gegevens middels een OleDbCommand, volgende foutmelding:

System.InvalidCastException

Specified cast is not valid.

Regel waar ie mis gaat:
[vb]
dim cmd as new oledb.oledbcommand(statement, conn)
[/vb]

Hiervoor zit er dus niet veel (een SQL String en een ADODB-connectie.

Wie kan me helpen?

we only make way for the man who boldly pushes past us


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Ben je zeker dat het op die regel misgaat?
Van welk type is conn ? Dat moet wel een OleDbConnection zijn, maar dat zal het wel zijn, anders zou je een compiler-error krijgen.

Hoe ziet je insert statement er uit? Gebruik je parametrized queries of maak je je query adhv string concatenation?
Hoe voer je die query uit ?

https://fgheysels.github.io/


  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
whoami schreef op 15 april 2004 @ 11:12:
Ben je zeker dat het op die regel misgaat?
Van welk type is conn ? Dat moet wel een OleDbConnection zijn, maar dat zal het wel zijn, anders zou je een compiler-error krijgen.

Hoe ziet je insert statement er uit? Gebruik je parametrized queries of maak je je query adhv string concatenation?
Hoe voer je die query uit ?
Het type connectie is een ADODB connectie, maar dat moet toch niet zo'n probleem zijn?

Het insert-statement wordt gemaakt adhv string concatenation...

De query wordt uitgevoerd door ExecuteNonQuery().

we only make way for the man who boldly pushes past us


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
WiseGuy! schreef op 15 april 2004 @ 11:16:
[...]


Het type connectie is een ADODB connectie, maar dat moet toch niet zo'n probleem zijn?
Hoezo adhv een ADODB connectie? Toon eens een stukje relevante code daarover.
Het insert-statement wordt gemaakt adhv string concatenation...
Gebruik parametrized queries. In de P&W FAQ staat er een stukje over onder het kopje SQL met .NET code voorbeelden.

https://fgheysels.github.io/


  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
Sorry, m'n code staat op een andere pc, vandaar dat copy-paste niet zo makkelijk gaat...

conn = new ADODB.Connection

conn.ConnectionString = "blablblalbalbla"

conn.Open()

That's it.

we only make way for the man who boldly pushes past us


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
WiseGuy! schreef op 15 april 2004 @ 11:20:
Sorry, m'n code staat op een andere pc, vandaar dat copy-paste niet zo makkelijk gaat...

conn = new ADODB.Connection

conn.ConnectionString = "blablblalbalbla"

conn.Open()

That's it.
wat moet je nu met die ADODB.Connection ? Voor zover ik weet is dat niet 'managed' en ik vind het al vreemd dat dat compileert in .NET.
Gebruik een OleDbConnection.

https://fgheysels.github.io/


  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
Hmn... ik ben het nu even kwijt..

Als ik er een OleDbConnection van maak (conn = new OleDb.OleDBConnection), geeft ie dezelfde melding als bij het aanmaken van een oledbcommand...

we only make way for the man who boldly pushes past us


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
code:
1
2
OleDbConnection conn = new OleDbConnection ("connectionstring");
OleDbCommand cmd = new OleDbCommand ("...", conn);

https://fgheysels.github.io/


  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
whoami schreef op 15 april 2004 @ 11:27:
code:
1
2
OleDbConnection conn = new OleDbConnection ("connectionstring");
OleDbCommand cmd = new OleDbCommand ("...", conn);
Op de een of andere manier slikt ie dat niet op deze manier....

Hij kent OleDbConnection niet.. Alleen als OleDb.OleDbConnection

we only make way for the man who boldly pushes past us


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Jah, dat is basic hoor. Als je de System.OleDb namespace in je using (of imports oid dacht ik dat het in vb.net was) opneemt, dan hoef je niet de FQN te gebruiken, anders wel.

https://fgheysels.github.io/


  • WiseGuy!
  • Registratie: Juni 2003
  • Laatst online: 21:40
whoami schreef op 15 april 2004 @ 11:47:
Jah, dat is basic hoor. Als je de System.OleDb namespace in je using (of imports oid dacht ik dat het in vb.net was) opneemt, dan hoef je niet de FQN te gebruiken, anders wel.
Haha, ja ik weet het :D ..

Het vreemde is dat ik deze wél in mijn References (VB.NET) heb opgenomen.... Hmn.

we only make way for the man who boldly pushes past us


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

whoami schreef op 15 april 2004 @ 11:47:
Jah, dat is basic hoor. Als je de System.OleDb namespace in je using (of imports oid dacht ik dat het in vb.net was) opneemt, dan hoef je niet de FQN te gebruiken, anders wel.
System.Data.OleDb was het toch :X

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Heuh ja.
miereneuker :+

https://fgheysels.github.io/


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

offtopic:
He nu klopt me signature niet meer B)
Pagina: 1