这是谁的错?(20分)

  • 主题发起人 主题发起人 李崇文
  • 开始时间 开始时间

李崇文

Unregistered / Unconfirmed
GUEST, unregistred user!
我想从一个表中删除所有满足条件的记录
如:
'Delete From 成绩单 Where 数学<60'
单执行时出错,不知什么原因?
 
什么错?
建议:字段名最好不要用中文
 
不是出错,而是'Table is readonly'提示
但我把Dataset(数据集)的Readonly设为false了。
 
很不明白
 
在数据库中的字段名不要用中文。用了中文就有出错的可能。
 
我只是举一个例子,实际上我在Form上放了如下控件:
DataSource,DBGrid,Query,DataBase然后在BtnClick编写程序
Procedure TForm.BtnClick(Sender :TObject);
var
SQL:string;
Begin
SQL:='Delete From report Where al_id>10'
Query.Close;
Query.SQL.Clear;
Query.DatabaseName:=Database.databasename;
Query.SQL.Add(SQL);
try
Query.ExecSQL;
except
showmessage('数据库打开错误或SQL语句错误');
Query.close;
exit;
end;
end;
 
datasource 属性设置呢?
 
first
while xx.bof do
begin
if xxxx then
dele....
next
end
一个一个删。
 
假设DataSet与DataSource设置正确
试试:
'Delete From 成绩单 Where "数学" < 60;'

 
把Sql语句放进Sql Explorer里执行,看有没有错,如果有,
就是数据库的问题,没有,则是程序设置的问题。
 
在sql Explore 中没问题
我想肯定程序设置问题:
 
databasename有误
 
消失得无影无踪!
 
接受答案了.
 
后退
顶部