我用ADOQuery来实现与数据库(Access)链接,想用update语句更新数据库,但老是出错 sql1 := 'update 学生 set 姓名="'+DBEdit2.Text+'" where 学号="'+DBEdit1.Text+'"';
sql2 := 'update 学生 set 性别="'+DBEdit3.Text+'" where 学号="'+DBEdit1.Text+'"';
sql3 := 'update 学生 set 专业="'+DBComboBox1.Text+'" where 学号="'+DBEdit1.Text+'"';
sql4 := 'update 学生 set 学院="'+DBComboBox2.Text+'" where 学号="'+DBEdit1.Text+'"';
sql5 := 'update 学生 set 生源地="'+DBEdit6.Text+'" where 学号="'+DBEdit1.Text+'"';
sql6 := 'update 学生 set 籍贯="'+DBEdit7.Text+'" where 学号="'+DBEdit1.Text+'"';
sql7 := 'update 学生 set 民族="'+DBEdit8.Text+'" where 学号="'+DBEdit1.Text+'"';
sql8 := 'update 学生 set 生日="'+DBEdit10.Text+'" where 学号="'+DBEdit1.Text+'"';
sql9 := 'update 学生 set 入学时间="'+DBEdit11.Text+'" where 学号="'+DBEdit1.Text+'"'; StudentQuery.Close;
StudentQuery.SQL.Clear;
StudentQuery.SQL.Add(sql1);
StudentQuery.SQL.Add(sql2);
StudentQuery.SQL.Add(sql3);
StudentQuery.SQL.Add(sql4);
StudentQuery.SQL.Add(sql5);
StudentQuery.SQL.Add(sql6);
StudentQuery.SQL.Add(sql7);
StudentQuery.SQL.Add(sql8);
StudentQuery.SQL.Add(sql9);
StudentQuery.ExecSQL;
StudentQuery.Close;一运行就出错,显示语法错误(操作符丢失),请问是哪里出了问题呢?
还有,我屏蔽掉其他sql语句,只用sql1的时候就可以运行,为什么啊?
sql2 := 'update 学生 set 性别="'+DBEdit3.Text+'" where 学号="'+DBEdit1.Text+'"';
sql3 := 'update 学生 set 专业="'+DBComboBox1.Text+'" where 学号="'+DBEdit1.Text+'"';
sql4 := 'update 学生 set 学院="'+DBComboBox2.Text+'" where 学号="'+DBEdit1.Text+'"';
sql5 := 'update 学生 set 生源地="'+DBEdit6.Text+'" where 学号="'+DBEdit1.Text+'"';
sql6 := 'update 学生 set 籍贯="'+DBEdit7.Text+'" where 学号="'+DBEdit1.Text+'"';
sql7 := 'update 学生 set 民族="'+DBEdit8.Text+'" where 学号="'+DBEdit1.Text+'"';
sql8 := 'update 学生 set 生日="'+DBEdit10.Text+'" where 学号="'+DBEdit1.Text+'"';
sql9 := 'update 学生 set 入学时间="'+DBEdit11.Text+'" where 学号="'+DBEdit1.Text+'"'; StudentQuery.Close;
StudentQuery.SQL.Clear;
StudentQuery.SQL.Add(sql1);
StudentQuery.SQL.Add(sql2);
StudentQuery.SQL.Add(sql3);
StudentQuery.SQL.Add(sql4);
StudentQuery.SQL.Add(sql5);
StudentQuery.SQL.Add(sql6);
StudentQuery.SQL.Add(sql7);
StudentQuery.SQL.Add(sql8);
StudentQuery.SQL.Add(sql9);
StudentQuery.ExecSQL;
StudentQuery.Close;一运行就出错,显示语法错误(操作符丢失),请问是哪里出了问题呢?
还有,我屏蔽掉其他sql语句,只用sql1的时候就可以运行,为什么啊?
解决方案 »
- 对于 TWebBrowser 响应js脚本 window.close 带来的问题。
- [散分]自己找了个好点的部门,可是领导不放,郁闷死了
- 终于下定决心辞职了,要去上海!那边的兄弟多照应呀……(男人总是要出去闯一闯的!!)
- 一个关于delphi的基本问题?
- 请问谁有directshow.pas单完文件给我一份谢谢
- 我有一个MAXTOR的金钻DiamondMax Plus 9/6Y060L0 7200转 60G要出让,在广州。
- clientsocket的sendbuf怎么用呀?
- 有一写好的窗体文件,如何将窗体显示出来?
- 程序执行效率问题,非高手莫进
- 怎样使用TActionList控件
- 怎样在DBGrid的所有记录后面增加一条统计信息?
- 刚学习delphi,遇到一个DBGridEh显示和保存信息的问题,请各位帮忙解决。。。
+' ,性别='+Quotedstr(DBEdit3.Text)
+' ,专业='+Quotedstr(DBComboBox1.Text)
+' ,学院='+Quotedstr(DBComboBox2.Text)
+' ,生源地='+Quotedstr(DBEdit6.Text)
+' ,籍贯='+Quotedstr(DBEdit7.Text)
+' ,民族='+Quotedstr(DBEdit8.Text)
+' ,生日='+Quotedstr(DBEdit10.Text)
+' ,入学时间='+Quotedstr(DBEdit11.Text)
+' where 学号='+Quotedstr(DBEdit1.Text); StudentQuery.Close;
StudentQuery.SQL.Clear;
StudentQuery.SQL.Add(sql1);
StudentQuery.ExecSQL;
StudentQuery.Close;
还有为什么不把这些更新操作写在一个sql语句里面?
StudentQuery.SQL.Add(sql2);
.....
StudentQuery.SQL.Add(sql9);其中的SQL语句等于 SQL1+SQL2+......+SQL9
当然会出错了。
这样比较清晰