Toon posts:

[MySQL/C#] Parametrized query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Bijvoorbeeld:

code:
1
2
3
4
5
string sql="INSERT INTO tabel VALUES(@varName)";        

OleDbCommand cmd = new OleDbCommand(sql,objConn);
cmd.Parameters.Add (new OleDbParameter ("@varName",strname));
cmd.ExecuteNonQuery();
In SQL-server geen probleem om met Parametrized queries te werken, daarom wil ik het dus ook met MySQL.
Veel gevonden op internet maar krijg het niet werkend.

Maar hoe gaat zoiets in MySQL in combi met OleDb en Parametrized queries?

Want volgens mij wordt OleDb in combi met MySQL meer aangeprezen dan met ODBC.

[ Voor 5% gewijzigd door Verwijderd op 14-07-2004 14:13 ]


  • marco_balk
  • Registratie: April 2001
  • Laatst online: 15-05 13:37
Op Pscode staat een stuk over MySQL met C#: http://www.planet-source-...?txtCodeId=1288&lngWId=10

Het is niet helemaal zoals jij het wilt, maar misschien is dit een goed alternatief.

Verwijderd

Topicstarter
kwakkie schreef op 14 juli 2004 @ 14:13:
Op Pscode staat een stuk over MySQL met C#: http://www.planet-source-...?txtCodeId=1288&lngWId=10

Het is niet helemaal zoals jij het wilt, maar misschien is dit een goed alternatief.
In deze link worden ze juist niet gebruikt. Hier worden de vars gewoon direct in de commandtext geplaatst.
Hier kan je dan volgens mij ook te maken krijgen met SQL-injection.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:17
Ik dacht dat MySQL geen parametrized queries ondersteunde, maar dat weet ik niet zeker.

Je zou het eens kunnen proberen door ? als placeholders te kunnen gebruiken, maar ik vrees toch dat het niet zal werken:
code:
1
string sql = "INSERT INTO tabel ( blaat ) VALUES ( ? )

[ Voor 53% gewijzigd door whoami op 14-07-2004 14:51 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 14 juli 2004 @ 14:49:
Ik dacht dat MySQL geen parametrized queries ondersteunde, maar dat weet ik niet zeker.

Je zou het eens kunnen proberen door ? als placeholders te kunnen gebruiken, maar ik vrees toch dat het niet zal werken:
code:
1
string sql = "INSERT INTO tabel ( blaat ) VALUES ( ? )
Dat gaat niet werken, heb ik al geprobeerd.
Okay dan moet ik er zelf maar een functie voor schrijven om SQL-injection te voorkomen.

  • marco_balk
  • Registratie: April 2001
  • Laatst online: 15-05 13:37
Verwijderd schreef op 14 juli 2004 @ 15:03:
[...]
Dat gaat niet werken, heb ik al geprobeerd.
Okay dan moet ik er zelf maar een functie voor schrijven om SQL-injection te voorkomen.
Misschien heb je hier dan wat aan: http://www.sitepoint.com/article/sql-injection-attacks-safe/

Verwijderd

de manier die whoami geeft werkt wel, ik heb dat eerder in combinatie met ODBC.net gebruikt en werkte. Je plaats overal een ? voor een parameter, en add ze dus ook in die vaste volgorde. Er is ook een stukje in de helpfile van mysql erover geloof ik. En anders zou je eens naar de MySQL.net driver kunnen kijken van bytefx (zo uit het hoofd)

Verwijderd

Topicstarter
Verwijderd schreef op 15 juli 2004 @ 08:03:
de manier die whoami geeft werkt wel, ik heb dat eerder in combinatie met ODBC.net gebruikt en werkte. Je plaats overal een ? voor een parameter, en add ze dus ook in die vaste volgorde. Er is ook een stukje in de helpfile van mysql erover geloof ik. En anders zou je eens naar de MySQL.net driver kunnen kijken van bytefx (zo uit het hoofd)
Okay, maar ik had het over OleDB.

Men zegt dat je beter OleDB in combi met MySQL kan gebruiken en geen ODBC.
Wat zijn jullie bevindingen hier over???

Verwijderd

ik heb zelf oledb nooit gebruikt ervoor, het zal waarschijnlijk iets sneller zijn. Maar kijk serieus eens naar bytefx

features:
Implemented in 100% C# managed code.
Supports major features of MySQL such as InnoDB transactions, data stream compression, named pipe connections and more!
Implements all standard ADO.NET provider interfaces and uses the same syntax as SqlClient to ease deployment.
Available under the LGPL
Pagina: 1