Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Update problem in datenbank


chrisachern - Fr 11.05.07 10:26
Titel: Update problem in datenbank
hallo,

ich will in einer sql server 05 datenbank einen datensatz ändern. mein quellcode dazu sieht so aus:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
public static void changefoliename(string filekey, string newname)
        {
            string sqlcomstring = "UPDATE tblfolie SET folienname=" + newname
                + " WHERE foliennr ="+filekey;
            SqlConnection sqlcon = getsqlconnection();
            SqlCommand sqlcom = new SqlCommand(sqlcomstring, sqlcon);
            
            try
            {
                sqlcon.Open();
                sqlcom.ExecuteNonQuery();
                sqlcon.Close();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }


dabei bekomme ich aber immer die fehlermeldung: Der mehrteilige Bezeichner
"hallo.png" konnte nicht gebunden werden.

die verbindung zur db funktioniert.
die spalte folienname ist ein varchar(30), foliennr ist der primay key.

kann mir bitte jemand sagen was der fehler zu bedeuten hat?

gruß chris

Moderiert von user profile iconUGrohne: Beitragsformatierung überarbeitet.


UGrohne - Fr 11.05.07 10:38

Ich denke, Du solltest newName in Anführungszeichen setzen, damit es als String von der Datenbank behandelt wird.


chrisachern - Fr 11.05.07 10:55
Titel: danke
danke das wars. manchmal steht man echt auf dem schlauch^^


Kha - Fr 11.05.07 11:13

Benutze Stored Procedures und so etwas kann erst gar nicht passieren ;) .
PS: Du solltest Close in einen finally-Block schieben oder einfach gleich using(connection) benutzen.


JüTho - Fr 11.05.07 12:27

Benutze unbedingt SqlParameter für SqlCommands; dann kann so etwas ebenfalls nicht passieren, und Konvertierungsprobleme (z.B. mit unterschiedlichen Schreibweisen bei DateTime) werden ebenfalls vermieden. Jürgen