下面的程序实现把strggrd2(stringgrid对象)所选的纪录行进行删除,在删除时无提示错误,但是无法删除纪录。这段程序有何问题?try
dm.Connection.BeginTrans;
//label6.Caption:=trim(strggrd2.Cells[3,strggrd2.Row]);
with dm.qr2 do
begin
close;
sql.Text:='delete classname where cl_name=:a5';
parameters.ParamByName('a5').Value:=trim(strggrd1.Cells[3,strggrd2.Row]);
execsql;
end;
finally
try
dm.Connection.CommitTrans;
stringgriddelete(strggrd2,strggrd2.Row);
lbl_sum.Caption:=inttostr(strggrd2.RowCount-1)+' 个班级';
except
MessageBox(handle,'操作失败,请重试!','提示',mb_ok+mb_iconinformation);
dm.Connection.RollbackTrans ;
end;
end;
dm.Connection.BeginTrans;
//label6.Caption:=trim(strggrd2.Cells[3,strggrd2.Row]);
with dm.qr2 do
begin
close;
sql.Text:='delete classname where cl_name=:a5';
parameters.ParamByName('a5').Value:=trim(strggrd1.Cells[3,strggrd2.Row]);
execsql;
end;
finally
try
dm.Connection.CommitTrans;
stringgriddelete(strggrd2,strggrd2.Row);
lbl_sum.Caption:=inttostr(strggrd2.RowCount-1)+' 个班级';
except
MessageBox(handle,'操作失败,请重试!','提示',mb_ok+mb_iconinformation);
dm.Connection.RollbackTrans ;
end;
end;
解决方案 »
- 关于两个DateTimePicker执行偱环的问题?
- 承蒙一年来大家的照应!祝大家新年快乐,羊年大发,合家欢乐,万事如意,工作顺利!
- 如何把一个字符串转化成指定字符集的另外一个字符串?
- 请问如何分离TDataSetProvider封装的数据包中的Master和Detail数据
- 高分征解!马上给分!
- 请问数据库控件的 DisEnableConstraints, EnableConstraints属性是什么意思,如何使用?
- 本人有一套ERP方面的软件 目前已有几十家客户已良好运行!!! 预购从速
- 这么一个项目给要价多少合适?两个月完成!
- 请问各位:主窗体的visible属性如何设置?
- 哪位能详细解释一下TOverlapped?
- 当打开一个表单时,怎样让这个表单始终在所有表单的前边?谢谢!
- 数据库里面类似于cg20040921001的单号要怎么增加呢?
begin
close;//加入一句:sql.clear;
sql.Text:='delete classname where cl_name=:a5';
parameters.ParamByName('a5').Value:=trim(strggrd1.Cells[3,strggrd2.Row]);
execsql;
end;
另外,在你的事务中只有一个SQL需要执行,所以没有必要用到Trans,直接执行就可以了。
还有,把try...except...end去掉再执行一下看一下具体有没有出错信息。
另一个是strggrd1.Cells[3,strggrd2.Row应该是strggrd2.Cells[3,strggrd2.Row。
分数不多。希望谅解!