webForumDet fria alternativet

Uppdateringsproblem.

.NET

5 svar · 527 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Frågan#1

Jag har nu suttit hela kvällen med det här, och jag kan inte hitta felet.
Jag får inget error men databasen(access) uppdateras inte.

sql = "Update t_medlem 
Set namn =?,
nick=?, 
adress =?, 
postadress = ?, 
tel = ?,
mobil = ?, 
bilmarke = ?,
losenord = ?,
epost = ?,  
showEpost = ?,
profilBild=?  
WHERE id  =?";
OleDbCommand cmd = new OleDbCommand(sql, DBConn);
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("namn", OleDbType.VarWChar, 50).Value = sNamn;
cmd.Parameters.Add("nick", OleDbType.VarWChar, 50).Value = sNick;
cmd.Parameters.Add("adress", OleDbType.VarWChar, 50).Value = txtAdress.Text;
cmd.Parameters.Add("postadress", OleDbType.VarWChar, 50).Value = sPostAdress;
cmd.Parameters.Add("tel", OleDbType.VarWChar, 50).Value = sTelefon;
cmd.Parameters.Add("mobil", OleDbType.VarWChar, 50).Value = sMobil;
cmd.Parameters.Add("bilmarke", OleDbType.VarWChar, 50).Value = sBil;
cmd.Parameters.Add("losenord", OleDbType.VarWChar, 50).Value = sLosen;
cmd.Parameters.Add("epost", OleDbType.VarWChar, 50).Value = sEpost;
cmd.Parameters.Add("showEpost", OleDbType.Boolean).Value = chEpost;
cmd.Parameters.Add("profilBild", OleDbType.VarWChar, 50).Value = sprofilBild;
cmd.Parameters.Add("id", OleDbType.Integer).Value = Convert.ToInt32(Session["id"].ToString());
DBConn.Open();
cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

Kan någon hitta något fel?
Jag har alla rättigheter i mappen där databasen finns, och inga felmedellanden. :q

Medlem sedan mars 20011 346 inlägg
#2

Måste du inte ha @ framför parametern?

ex:

cmd.Parameters.Add("@namn", OleDbType.VarWChar, 50).Value = sNamn;
Medlem sedan mars 20011 880 inlägg
#3

Nja inte när det gäller Access. Det är så märkvärdigt att på ett annat ställe så fungerar det, och irriterande är ju att jag inte får något felmedellande. Då finns det ju ingenting att gå på.

Medlem sedan dec. 20025 483 inlägg
#4

Är det verkligen ExecuteReader() du vill använda och inte ExecuteNonQuery()?

Medlem sedan juni 200032 967 inlägg
#5

Jag antar att koden inte ligger i ett try-block och du sväljer exceptions?
Du har kollat att session["id"] innehåller vad den ska?

Medlem sedan mars 20011 880 inlägg
#6

Koden ligger i ett try-block, men det är bortkommenterat för felsökning.
Här var felet:

ExecuteNonQuery

Tack för hjälpen..

251 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)