更新代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
string str_id="" + Request.QueryString["id"];
string str_nami =this. NewNameInput.Text;
string str_jinsi = this.JinsiInput.Text;
string str_mezmuni = this.MeaningInput.Text;
string str_tili = this.LangInput.Text;
string str_pigchisi = this.CnNameInput.Text;
string str_aptori = this.ByNameInput.Text;
string con_str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".") + "//App_Data//NameDB.mdb";
OleDbConnection base_con = new OleDbConnection(con_str);
base_con.Open();
string cmd_str = "update [T_NamesInfo] set E_Name='" + str_nami + "',E_Sex='" + str_jinsi + "',E_Meaning='" + str_mezmuni + "',E_Lang='" + str_tili + "',E_CnName='" + str_pigchisi + "',E_By='" + str_aptori + "' where id=" + str_id;
OleDbCommand odbcmd = new OleDbCommand(cmd_str, base_con);
if (odbcmd.ExecuteNonQuery() > 0)
{
base_con.Close();
Response.Write("<script>alert('update finish!')</script>");
}
else
{
base_con.Close();
Response.Write("<script>alert('faild!!')</script>");
}
}
错误截图如下
15 个解决方案
#1
string cmd_str = "update [T_NamesInfo] set E_Name='" + str_nami + "',E_Sex='" + str_jinsi + "',E_Meaning='" + str_mezmuni + "',E_Lang='" + str_tili + "',E_CnName='" + str_pigchisi + "',E_By='" + str_aptori + "' where [id]=" + str_id;
string.format
oledbparameter操作
string.format
oledbparameter操作
#2
你可以说具体点么???
#3
看看你的那些字段哪些不允许为空.。 你调试的时候把鼠标移到 string cmd_str上面将SQL拿出来到数据库里面去执行一遍... 应该是某字段为空或着,int型打了单引号,或者是该打单引号的地方你没打.。 比如你这里的str_id是string型...
#4
where [id]
#5
更新字段都允许为空的,我用断点法都看了,都不是空的。
那个打单引号双引号的你看看,我哪儿打错了?
#6
试了,没用了...
#7
报的啥错呀。
#8
没有报错,可以正常运行网站的,但是在网站页面做更新(Update)操作就不同了,出现的是上面的那张图所显示.
#9
强制转换数据类型
#10
怎么转换啊 ???
#11
<add name="accessConnStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|a.mdb" providerName="System.Data.OleDb"/>
OleDbConnection connection = new OleDbConnection(connectionString);
检查参数类型。cmd_str 值
OleDbConnection connection = new OleDbConnection(connectionString);
检查参数类型。cmd_str 值
#12
写错字段名称没有?
一个个字段缩小,用排除法。
一个个字段缩小,用排除法。
#13
都试了..
#14
断点法看了
cmd_str=update [T_NamesInfo] set E_Sex = '男' where [id]=1
正常吧...
#15
都解决了。。。谢谢各位i
#1
string cmd_str = "update [T_NamesInfo] set E_Name='" + str_nami + "',E_Sex='" + str_jinsi + "',E_Meaning='" + str_mezmuni + "',E_Lang='" + str_tili + "',E_CnName='" + str_pigchisi + "',E_By='" + str_aptori + "' where [id]=" + str_id;
string.format
oledbparameter操作
string.format
oledbparameter操作
#2
你可以说具体点么???
#3
看看你的那些字段哪些不允许为空.。 你调试的时候把鼠标移到 string cmd_str上面将SQL拿出来到数据库里面去执行一遍... 应该是某字段为空或着,int型打了单引号,或者是该打单引号的地方你没打.。 比如你这里的str_id是string型...
#4
where [id]
#5
更新字段都允许为空的,我用断点法都看了,都不是空的。
那个打单引号双引号的你看看,我哪儿打错了?
#6
试了,没用了...
#7
报的啥错呀。
#8
没有报错,可以正常运行网站的,但是在网站页面做更新(Update)操作就不同了,出现的是上面的那张图所显示.
#9
强制转换数据类型
#10
怎么转换啊 ???
#11
<add name="accessConnStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|a.mdb" providerName="System.Data.OleDb"/>
OleDbConnection connection = new OleDbConnection(connectionString);
检查参数类型。cmd_str 值
OleDbConnection connection = new OleDbConnection(connectionString);
检查参数类型。cmd_str 值
#12
写错字段名称没有?
一个个字段缩小,用排除法。
一个个字段缩小,用排除法。
#13
都试了..
#14
断点法看了
cmd_str=update [T_NamesInfo] set E_Sex = '男' where [id]=1
正常吧...
#15
都解决了。。。谢谢各位i