数据不能被修改

来源:百度知道 编辑:UC知道 时间:2024/09/24 01:24:14
今天我在写一个修改产品资料的程序的时候,出了点小问题,希望大侠们帮我指点一下。
我用下面这个方法在修改数据时出的问题,各个数据都能正确取到,系统没有报错也提示修改成功,可就是没有真正修改,数据库里数据仍未改变。
代码大致如下:
OleDbConnection conn = connection.conn();
string str2 = "Update Product Set ClassId=@classid,Title=@title,BianHao=@bianhao,Content=@content Where ProductId=@id";
OleDbCommand comm = new OleDbCommand(str2,conn);

//BigClass在前台是一个DropDownList控件
comm.Parameters.AddWithValue("@classid",BigClass.SelectedValue);
comm.Parameters.AddWithValue("@title",Title.Text.Trim());
comm.Parameters.AddWithValue("@bianhao",BianHao.Text.Trim());
comm.Parameters.AddWithValue("@content",Content.Text);

//ViewState["id"] 是我接收到的要修改产品的ID号
comm.Parameters.AddWithValue("@id",Convert.ToInt16(ViewState["id"]));
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
SetBind();
-------------------------------------------
奇怪的是,我用下面这个方

在string str2 = "Update Product Set 语句前加断点,单步调试,看看此时的str2值,把这个值复制到查询分析器里,然后在查询分析器里执行这个语句,应该会报错。

接分!!!!

如果不是这的原因,那我也不知道了。

我记得。
Oracle的Sql 语句中 在参数前面加冒号":", 而Sql Server 的Sql 在前面加"@"。
你确定Insert的时候是用@添加的?

你把 str2 输出来 , 放到查询分析器里试试 .看看那个变量的值有问题?