【发布时间】:2015-06-04 15:56:04
【问题描述】:
我使用 Microsoft Access 文件作为数据库。我对SELECT 和INSERT 查询没有问题,但是当我尝试UPDATE 时,数据库中的记录不会改变。
下面是我用来运行更新的代码。调试日志中没有异常或错误。
cnn = new OleDbConnection(connetionString);
OleDbCommand command = new OleDbCommand("UPDATE [Wpisy] SET [wpis]=@wpis, [id_kat]=@id_kat, [tytul]=@tytul WHERE [ID]=@id_wpis" , cnn);
command.Parameters.Add(new OleDbParameter("@wpis", tresc_wpisu.Text));
command.Parameters.Add(new OleDbParameter("@id_kat", lista_kategorii.SelectedValue));
command.Parameters.Add(new OleDbParameter("@tytul", tytul_wpisu.Text));
command.Parameters.Add(new OleDbParameter("@id_wpis", Request["id"].ToString() ));
command.Connection = cnn;
try
{
if(cnn.State.ToString() != "Open")
cnn.Open();
command.ExecuteNonQuery();
cnn.Close();
}
catch (OleDbException ex)
{
Response.Clear();
Response.Write(ex);
Response.End();
}
【问题讨论】:
-
您是否验证过 Request["id"].ToString() 为您提供了正确的 ID?
-
Request["id"]是否包含参数@id_wpis的值,您的更新是否在数据库中正确执行? -
@BrianDishaw @rageit 是的,
Request["id"]包含正确的值并且没有错误。 -
Request["id"]的值是否存在于Wipsy表中? -
@rageit 是的。我使用 GET 方法在 URL 中传递
id=10。在Wpisy表中,我在ID列中记录了该值
标签: c# asp.net oledb oledbcommand