为什么数据更新不能执行? 答对给分
private void button1_Click(object sender, System.EventArgs e)
{
this.oleDbConnection1.Open ( ) ;
// 打开数据连接oleDbCommand1.CommandText
string udstr="UPDATE Persons set name='"
+textBox2.Text+"', HomePhone='"
+textBox3.Text+"', WorkPhone='"
+textBox4.Text+"', City='"
+textBox5.Text+"',Address='"+textBox6.Text+"',Email='"+textBox7.Text+"' WHERE (id="+textBox1.Text+")";
//string newstr="updata persons set name="+textBox2.Text+" where id ="+textBox1.Text+"";
OleDbCommand cmd = new OleDbCommand (udstr, oleDbConnection1) ;
this.oleDbConnection1.Close();
MessageBox.Show("数据存储成功!"+udstr,"系统提示:");
}
问题点数:20、回复次数:9Top
1 楼ghj1976(蝈蝈俊.net)回复于 2001-11-11 09:30:39 得分 0
你加 try {} catch {} 试试,是不是异常,另外udstr的语句也看看,
当然最简单就是单步调试了。
Top
2 楼hmbory(玻璃心)回复于 2001-11-11 18:55:04 得分 0
就是,用response.write看看有没有哪里出错呀Top
3 楼gsnidi(海豚)回复于 2001-11-11 19:23:32 得分 0
我的看法:
where 语句有错:id应该是int类型的数,而textbox1.text是字符串,当然造成不匹配
要先转换为int型的数才行Top
4 楼pp616(坏蛋)回复于 2001-11-11 19:59:52 得分 0
对对。仔细看看你个每个字段的数据类型对不对。Top
5 楼leonyjj(xiaoyuer)回复于 2001-11-11 20:33:36 得分 10
呵呵,是没有执行操作cmd.ExecuteNonQuery()把。
Top
6 楼qaqaqa(伊可爱)回复于 2001-11-11 20:47:28 得分 0
将他改为:string newstr="update persons set name'1111' where id =1";
还是没有成功。。。。。
没有抛出任何错误。。。。。Top
7 楼ppboy(笑谈)回复于 2001-11-11 21:04:46 得分 10
好像应该呼叫cmd.,同意楼上leonyjj(xiaoyuer).
new 操作符建立一个OleDbCommand对象实例,并且用udstr, oleDbConnection1初始化
对象内部成员,但是构造函数并不负责用oleDbConnection1对象执行udstr的功能。
这个功能是要用ExecuteNonQuery方法执行的吧。……
……
我记得好像是这样,见笑了Top
8 楼qaqaqa(伊可爱)回复于 2001-11-11 21:38:14 得分 0
你说得很对。。我刚才吧这个问题解决了。。缺exceutenonquery()。。。。。给你加分Top
9 楼ppboy(笑谈)回复于 2001-11-11 22:20:28 得分 0
多谢~:)Top




