这样写可以么 sqlstr:='delete * from base_m2r where module_id=(select base_m2r.module_id from base_m2r, base_role where base_m2r.role_id=base_role.role_id and base_role.role_name='''+combobox1.items.text+'''+)'; if query1.Active then query1.Active:=false; query1.sql.clear; query1.SQL.Add(sqlstr); query1.execsql;
if query1.Active then
query1.Active:=false;
query1.sql.clear;
query1.SQL.Add(sqlstr);
query1.execsql;
所以一定要建立外键约束+事务提交,出错的时候on except,来抓就行了。
我是想不建立主键而删除表中的记录
query1.close;
query1.SQL.Add('delete from base_m2r where role_id=:parm');
query1.Params[0].AsString:=''''+test+'''';
query1.ExecSQL;
test是字符串变量,role_id是char型的,这个表没有主键,能删除么