delete 出错拉 那里的问题? 在线等(100分)

  • 主题发起人 主题发起人 hero959
  • 开始时间 开始时间
H

hero959

Unregistered / Unconfirmed
GUEST, unregistred user!
[red][/red] adoquery1.Connection:=dm.ADOCo;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete * from 0910');
adoquery1.Active:=true;
adoquery1.ExecSQL;
dbgrid1.refresh;
提示单一记录不能返回多行记录 那里出错拉? 昨天还好用
 
不要 *

delete from [0910]
试试
 
adoquery1.SQL.Add('DELETE FROM table_name'); //这样就可以删除全部记录了
 
adoquery1.Connection:=dm.ADOCo;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete from 0910'); //去掉*
//adoquery1.Active:=true;
adoquery1.ExecSQL;
dbgrid1.refresh;
 
red][/red] adoquery1.Connection:=dm.ADOCo;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('delete * from 0910');
adoquery1.Active:=true;//多余
adoquery1.ExecSQL;
dbgrid1.refresh;
 
没赶上·!!!!!
 
1、你的delete语句是删除操着,而adoquery1.Active:=true;相当于adoquery1.open;是打开结果集,这是你出错的直接原因;
2、'DELETE FROM table_name'与'DELETE * FROM table_name'其实是一样的,但是我们更习惯于使用'DELETE FROM table_name';
3、你的表名是0910是个数字,所以表名前后要用限定符号sqlserver是delete from [0910],而access是delete from `0910`;
4、如果你的数据库是sqlserver,那么使用trancate table [0910]比delete更有效率;
5、完毕。
 
接受答案了.
 
后退
顶部