try
data1.ADOConnection1.BeginTrans;
ADOQueryTmp := nil;
ADOQueryTmp := TADOQuery.Create(ADOQueryTmp);
ADOQueryTmp.Connection := Data1.ADOConnection1;
//修改使用标记
s_sql:='delete from PRINDX where id='''+id+'''';
ADOQueryTmp.SQL.Clear ;
ADOQueryTmp.SQL.Add(s_sql) ;
ADOQueryTmp.ExecSQL;
s_sql:='delete from Tck_lld where id='''+id+'''';
ADOQueryTmp.SQL.Clear ;
ADOQueryTmp.SQL.Add(s_sql) ;
ADOQueryTmp.ExecSQL;
data1.ADOConnection1.CommitTrans;
Application.MessageBox('删除成功','提示',mb_ok);
except
data1.ADOConnection1.RollbackTrans;
Application.MessageBox('删除不成功','提示',mb_ok);
end; s_sql:='delete from Tck_lld where id='''+id+'''';
如果这里没有找到对应的id照样删除成功,如何让这个删除失发败呢,就是没有找到对应的id
data1.ADOConnection1.BeginTrans;
ADOQueryTmp := nil;
ADOQueryTmp := TADOQuery.Create(ADOQueryTmp);
ADOQueryTmp.Connection := Data1.ADOConnection1;
//修改使用标记
s_sql:='delete from PRINDX where id='''+id+'''';
ADOQueryTmp.SQL.Clear ;
ADOQueryTmp.SQL.Add(s_sql) ;
ADOQueryTmp.ExecSQL;
s_sql:='delete from Tck_lld where id='''+id+'''';
ADOQueryTmp.SQL.Clear ;
ADOQueryTmp.SQL.Add(s_sql) ;
ADOQueryTmp.ExecSQL;
data1.ADOConnection1.CommitTrans;
Application.MessageBox('删除成功','提示',mb_ok);
except
data1.ADOConnection1.RollbackTrans;
Application.MessageBox('删除不成功','提示',mb_ok);
end; s_sql:='delete from Tck_lld where id='''+id+'''';
如果这里没有找到对应的id照样删除成功,如何让这个删除失发败呢,就是没有找到对应的id
多客户端操作时,有时是锁表的吖,比如,你要删ID1,可别人在其它机上正在编辑ID1(锁了),这样就可能出现锁了
如果这里没有找到对应的id照样删除成功,如何让这个删除失发败呢,就是没有找到对应的id"这句删除成功与是否存在对应的ID没有关系,因为id='''+id+''''仅是一个删除条件.你可以在删之前查询判断有这个值再删,没有就跳出。