Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Datentypen in Kriterienausdruck unverträglich


FuttlTobi - Di 20.03.12 11:59
Titel: Datentypen in Kriterienausdruck unverträglich
Hallo

Ich habe folgenden Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
string name = "hallo";
long id = 3;
            
using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Max\4.Klasse\PPM\Rette_die_Million\Rette_die_Million_3.0\DB_Fragen.mdb"))
            {
                con.Open();
                using (OleDbCommand command = new OleDbCommand("UPDATE Highscores SET SpielerName='"+name+"' WHERE ID='"+id+"'", con))
                {
                    command.ExecuteNonQuery();

                }
            }

Wenn ich ihn ausführe kommt immer Datentypen in Kriterienausdruck unverträglich (das command.ExecuteNonQuery ist markiert)

Was mach ich da falsch?

In der Access-DB ist ID vom typ long integer

Moderiert von user profile iconKha: C#-Tags hinzugefügt


mats74 - Di 20.03.12 12:15

Hallo FuttlTobi

Der ID-Typ ist ein Integer, also lass auch die Anführungsstriche in der WHERE-Klausel weg.
Dann sollte es funktionieren.


Th69 - Di 20.03.12 14:40

Hallo FuttlTobi,

benutze am besten direkt SQL Parameter, s.a. meinen Link unter
http://www.c-sharp-forum.de/viewtopic.php?p=660135#660135
bzw.
http://www.c-sharp-forum.de/viewtopic.php?p=619527#619527