Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Mysql-Parameter übergabe Problem
aknet - Di 22.07.08 18:57
Titel: Mysql-Parameter übergabe Problem
Hallo,
ich habe nicht genau gewusst was für einen Title ich nehmen soll, hoffe ihr verzeit.
ich schaffe es irgendwie nicht einen funktionierenden sql-string zusammen zu bauen.
alles (verbindung zur datenbank, ein test sql-sting mit fixen & vorhandenen werten) Funktioniert außer eben das mit den Parametern.
hier mal der gekürtzte und leicht veränderte Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| using MySql.Data.MySqlClient;
MySqlConnection conn = new MySqlConnection("MeinConnectionString")
conn.Open();
string sql = "SELECT id FROM tabelle WHERE (dies = '@par1') AND (das = '@par2')";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.Add("@par1", MySqlDbType.VarChar, 15); cmd.Parameters["@par1"].Value = "Parameter1"; cmd.Parameters.Add("@par2", MySqlDbType.VarChar, 30); cmd.Parameters["@par2"].Value = "Parameter2";
string id = cmd.ExecuteScalar().ToString();
conn.Close(); |
ich hoffe mal ihr habt versanden was ich seit Stunden versuche und nicht schaffe.
lg
aknet
Christian S. - Di 22.07.08 19:02
Hallo und :welcome:!
Versuch mal "?" anstatt "@" bei den Parametern.
Grüße
Christian
//edit: Ach ja, und die Anführungszeichen um die Parameter im SQL-String müssen weg.
aknet - Di 22.07.08 19:28
hallo Christian S.,
vielen dank!
dank deiner hilfe hat es nun entlich geklappt :)
musste die @ in ? umschreiben und die ' rausmachen, komisch nur das als ich das mal mit ms-sql gemacht habe das, glaub ich, genau anders rum war...
nochmals dankeschön :flehan:
lg
aknet
JüTho - Do 24.07.08 12:58
Zur Erklärung: Die Anführungszeichen bei Parametern setzt der DbProvider automatisch, sofern sie benötigt werden; das ist einer der Vorteile von Parametern. (Das ist bei MS-SQL sicher genauso, nur das Sonderzeichen macht jeder anders.)
Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!