OleDbParameter[] parms = new OleDbParameter[]
{
new OleDbParameter("@customerid",OleDbType.Integer),
new OleDbParameter("@customername",OleDbType.VarChar,100),
new OleDbParameter("@customerpwd",OleDbType.VarChar,100)
};
parms[0].Value = id;
parms[1].Value = nname;
parms[2].Value = npwd;
string sqlstr = "update webmaster set webadminname=@customername,webadminpass=@customerpwd where id=@customerid";Cmd.CommandText = sqlstr;
Cmd.Parameters.AddRange(parms);
result = Cmd.ExecuteNonQuery();最后执行的结果是 异常消息 "标准表达式中数据类型不匹配。" 数据库的设计是 ID为主键自动增长的。
错误就在id的 OleDbType枚举这了,,不知道该咋办
string sqlstr = "update webmaster set webadminname=@customername,webadminpass=@customerpwd where id="+id;
要是这么写就好使了
{
new OleDbParameter("@customerid",OleDbType.Integer),
new OleDbParameter("@customername",OleDbType.VarChar,100),
new OleDbParameter("@customerpwd",OleDbType.VarChar,100)
};
parms[0].Value = id;
parms[1].Value = nname;
parms[2].Value = npwd;
string sqlstr = "update webmaster set webadminname=@customername,webadminpass=@customerpwd where id=@customerid";Cmd.CommandText = sqlstr;
Cmd.Parameters.AddRange(parms);
result = Cmd.ExecuteNonQuery();最后执行的结果是 异常消息 "标准表达式中数据类型不匹配。" 数据库的设计是 ID为主键自动增长的。
错误就在id的 OleDbType枚举这了,,不知道该咋办
string sqlstr = "update webmaster set webadminname=@customername,webadminpass=@customerpwd where id="+id;
要是这么写就好使了
比如 parms[1].Value = nname;
这个nname应该带引号
new OleDbParameter("@customerpwd",OleDbType.VarChar,100),
new OleDbParameter("@customerid",OleDbType.Integer)
parms[0].Value = nname;
parms[1].Value = npwd;
parms[2].Value = id;
顺序换一下 再试试