数据库更新的问题,神仙救救我吧!!!!我要急死了!!!!!!!!
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";
strConnection+=Server.MapPath("cnetdata\\cnet.mdb");
OleDbConnection schoolconn=new OleDbConnection(strConnection);
schoolconn.Open();
OleDbCommand mycommand = new OleDbCommand("Update scinfo Set scname='"+scnamebox.Text+"',sccode='"+sccodebox.Text+"'" ,schoolconn);
if (mycommand.ExecuteNonQuery()>0)
{
Page.RegisterStartupScript("Alert","<script language=javascript>alert('数据更新成功,请返回!');</script>");
backbt.Text="返回";
}
else
Page.RegisterStartupScript("Alert","<script language=javascript>alert('数据更新失败,请重新填写或返回!');</script>");
schoolconn.Close();
没有提示任何错误,可是数据库就是没有更新,if (mycommand.ExecuteNonQuery()>0)根这个的判断也是成功的,可还是没有被更新,但要是scname='"+scnamebox.Text+"',sccode='"+sccodebox.Text+"'
的scnamebox.Text 和 sccodebox.Text 更改为一个字符串,则数据库就可以被更新,这倒底是为什么啊,语法也没错误,我是要更新所有的,所以没有WHERE条件,我的系统是WINXP VS。NET2003
ACCESS XP,求求各位救救我吧,我要被逼疯了!!!!!!!!!
问题点数:20、回复次数:7Top
1 楼swingaway(zpf)回复于 2005-06-28 00:25:58 得分 15
你这些代码应该是写在更新事件或按钮click事件中的,你把page_load()中的有关代码用判断括起来:
if(!Page.IsPostBack)
{
...//你的开库读库代码以及你的TextBox赋值代码
}
表示第一次加载页面时开库读库。你错误的原因就是点击提交按钮后,重新执行page_load中的代码,其中定义的TextBox初始值把你更改后的TextBox值覆盖掉了。Top
2 楼netter2003(我知道错了,以后我会及时结贴。)回复于 2005-06-28 00:46:42 得分 5
我也同意楼上的兄弟
应该是正解Top
3 楼webbers(月海云山)回复于 2005-06-28 01:45:37 得分 0
没错。
之前也是遇到同样的问题,后来就是这样解决的Top
4 楼lovebanyi(风云)回复于 2005-06-28 08:37:31 得分 0
二楼的正解。不过楼主。。的sql语句不要在用拼成的了。。还有过滤,麻烦。直接用参数来传递吧。Top
5 楼xu770(我爱鱼儿)回复于 2005-06-28 08:44:04 得分 0
同意二楼的
用sql拼接还是不太安全,用参数的好Top
6 楼ye_zi(行到水穷处·坐看云起时)回复于 2005-06-28 09:52:18 得分 0
markTop
7 楼doni_ng(断笺念痕)回复于 2005-06-28 15:40:14 得分 0
up
Top




