大家帮忙看下 总是出现CANNOT PERFORM .......ON AN CLOSED DATASET 先谢谢大家了
begin
try
query1.Close;
query1.SQL.Add('insert into 考核表 (职员编号,月份,常规版面头条,财经文体版头条,其他稿件,深度报道,独家报道,现场报道,月度好稿,漏稿处罚)values(:tmp1,:tmp2,:tmp3,:tmp4,:tmp5,:tmp6,:tmp7,:tmp8,:tmp9,:tmp10)');
query1.ParamByName('tmp1').AsString:=edit1.Text;
query1.ParamByName('tmp2').AsString:=formatdatetime('yyyy-mm',datetimepicker1.datetime);
query1.ParamByName('tmp3').Value:=edit3.Text;
query1.ParamByName('tmp4').Value:=edit4.Text;
query1.ParamByName('tmp5').Value:=edit5.Text;
query1.ParamByName('tmp6').Value:=edit6.Text;
query1.ParamByName('tmp7').Value:=edit8.Text;
query1.ParamByName('tmp8').Value:=edit9.Text;
query1.ParamByName('tmp9').Value:=edit10.Text;
query1.ParamByName('tmp10').Value:=edit11.Text;
query1.Prepare;
query1.ExecSQL;
query1.Close;
query1.SQL.Clear;
query1.sql.add('exec sf_考核设置');
query1.Prepare;
query1.ExecSQL;
button5.Click;
MessageBox(handle,'恭喜,新增成功', '提示',MB_OK);
except
on e:EDBEngineError do
showmessage('职员编号不存在或输入了重复数据,请重新输入!');
end;
end;
end;
begin
try
query1.Close;
query1.SQL.Add('insert into 考核表 (职员编号,月份,常规版面头条,财经文体版头条,其他稿件,深度报道,独家报道,现场报道,月度好稿,漏稿处罚)values(:tmp1,:tmp2,:tmp3,:tmp4,:tmp5,:tmp6,:tmp7,:tmp8,:tmp9,:tmp10)');
query1.ParamByName('tmp1').AsString:=edit1.Text;
query1.ParamByName('tmp2').AsString:=formatdatetime('yyyy-mm',datetimepicker1.datetime);
query1.ParamByName('tmp3').Value:=edit3.Text;
query1.ParamByName('tmp4').Value:=edit4.Text;
query1.ParamByName('tmp5').Value:=edit5.Text;
query1.ParamByName('tmp6').Value:=edit6.Text;
query1.ParamByName('tmp7').Value:=edit8.Text;
query1.ParamByName('tmp8').Value:=edit9.Text;
query1.ParamByName('tmp9').Value:=edit10.Text;
query1.ParamByName('tmp10').Value:=edit11.Text;
query1.Prepare;
query1.ExecSQL;
query1.Close;
query1.SQL.Clear;
query1.sql.add('exec sf_考核设置');
query1.Prepare;
query1.ExecSQL;
button5.Click;
MessageBox(handle,'恭喜,新增成功', '提示',MB_OK);
except
on e:EDBEngineError do
showmessage('职员编号不存在或输入了重复数据,请重新输入!');
end;
end;
end;
解决方案 »
- 如何把查询字段值赋给DBGrid的某一列值
- 用过VCLSkin来看一下,怎么换皮肤
- 我用Indy9中的FTP控件时,怎样设定传输模式是文本/二进制?
- Delphi的数据集问题,不能更新数据库。
- 菜鸟:怎样初始化一个变量?
- 如何实现Windows网络配置中的那种IP地址输入框?
- TField的Clear怎么对Image字段不起作用?
- 怎样把www虚拟目录下的一个文件(例如127.0.0.1/image/1.gif)寸到本地硬盘上(up有分)
- 我想用鼠标钩子在屏幕上画画
- 如何update数据库中二进制数据??
- 求助 求delhip编写的工业控制程序
- 谁使用过Wise Installation System,麻烦给个脚本列子,万分感谢
试试吧不是OPEN就是EXECSQL的问题.
procedure TForm5.Button5Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select 考核表.职员编号,职员基本信息表.姓名,考核表.月份,考核表.常规版面头条,考核表.财经文体版头条,考核表.其他稿件,考核表.深度报道,考核表.独家报道,考核表.现场报道,考核表.月度好稿,考核表.漏稿处罚,考核表.月度总分,考核表.绩效'+'奖金 from 考核表,职员基本信息表 where 考核表.职员编号=职员基本信息表.职员编号');
query1.Open;
edit1.Text:='';edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';end;
if not query1.ADOConnection.Connected then
query1.ADOConnection.Open;//打开连结试试
try
query1.Close;
query1.SQL.Add('insert into 考核表 (职员编号,月份,常规版面头条,财经文体版头条,其他稿件,深度报道,独家报道,现场报道,月度好稿,漏稿处罚)values(:tmp1,:tmp2,:tmp3,:tmp4,:tmp5,:tmp6,:tmp7,:tmp8,:tmp9,:tmp10)');
query1.ParamByName('tmp1').AsString:=edit1.Text;
query1.ParamByName('tmp2').AsString:=formatdatetime('yyyy-mm',datetimepicker1.datetime);
..............
if not query1.ADOConnection.Connected then
query1.ADOConnection.Open;//打开连结试试
我用的是BDE啊