在一个button里写了一些代码,目的是更改数据库的内容。可是在实际的运行中,有的机器在该button点击后长时间不响应,导致更改内容没有提交。实在不知道是什么原因,还望高手相助。
代码具体如下
procedure TfrmComIn.BitBtn2Click(Sender: TObject);
var
Qry,QryE:TADOQuery;
sql,temp:string;
i:integer;begin
Qry := TADOQuery.Create(nil);
Qry.Connection := frmmain.MainDatabase;
try
sql:='SELECT * FROM COMUNION_HDR WHERE COMID = '''+trim(edComID.Text)+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.add(sql);
Qry.open; if Qry.RecordCount = 0 then
begin ... end
else if id <> '' then
begin
if Application.MessageBox('已有该会员编号,是否修改',TIT005,mb_OKCANCEL+MB_ICONINFORMATION)=mrok then
//if Application.MessageBox(MSG015,TIT015,mb_OKCANCEL+MB_ICONINFORMATION)=mrok then
begin
sql:='UPDATE COMUNION_HDR SET COMID = '''+trim(edComID.Text)+''', COMIDHEAD = '''+copy(trim(edComID.Text),1,1)
+''',COMIDBODY = '''+copy(trim(edComID.Text),2,4)+''',COMNAME = '''+trim(edComName.Text)
+''', WORKNAME = '''+trim(cobUnionWork.text)+''',COMINLOW = '''+trim(cobOwnerShip.text)
+''', BUSINESS = '''+trim(cobBusiness.Text)+''',DISTRICT = '''+trim(cobDistrict.text)
+''', ADDRESS = '''+trim(edAddress.text)+''',ZIP = '''+trim(edZip.text)+''',TEL = '''+trim(edTel.text)
+''', FAX = '''+trim(edFax.text)+''',NETADDRESS = '''+trim(edEMail.text)+''',com1 = '''+str1+''',com2 = '''
+str2+''',com3 = '''+str3+''',com4 = '''+str4+''' WHERE '
+'COMID = '''+ID+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL; if trim(edCongressname.text) <> '' then
begin//1
Qry.close;
Qry.sql.clear;
Qry.sql.Add('SELECT * FROM COM_CONGRESS WHERE COMID = '''+ID+''' ');
QRY.OPEN; IF QRY.RecordCount = 0 THEN
BEGIN
if ckbConBorn.Checked then
sql:='INSERT INTO COM_CONGRESS (COMID,CONGRESSNAME,MALE,BORN,'
+'COMWORK,SOCIEWORK,TEL,FAX,EMAIL,UNIONWORK,OPER,EXTRA) VALUES ('''+trim(edComID.Text)
+''','''+trim(edCongressName.Text)+''','''+trim(cobMale.text)+''','''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''','''+trim(cobComWork.Text)+''','''+trim(cobSocieWork.text)+''','''+trim(edComTel.text)
+''','''+trim(edComFax.text)+''','''+trim(edComEMail.text)+''','''+trim(cobComUnionWork.text)+''','''','''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)+''')'
else
sql:='INSERT INTO COM_CONGRESS (COMID,CONGRESSNAME,MALE,'
+'COMWORK,SOCIEWORK,TEL,FAX,EMAIL,UNIONWORK,OPER) VALUES ('''+trim(edComID.Text)
+''','''+trim(edCongressName.Text)+''','''+trim(cobMale.text)+''','''
+trim(cobComWork.Text)+''','''+trim(cobSocieWork.text)+''','''+trim(edComTel.text)
+''','''+trim(edComFax.text)+''','''+trim(edComEMail.text)+''','''+trim(cobComUnionWork.text)+''','''')';
END
ELSE
BEGIN
if copy(id,1,1) <> 'P' then
begin
if ckbConBorn.Checked then
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',EXTRA = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' AND (UNIONWORK IS NULL OR UNIONWORK = '''') '
else
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = NULL,COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' AND (UNIONWORK IS NULL OR UNIONWORK = '''') ';
end
else
begin
if ckbConBorn.Checked then
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',EXTRA = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' '
else
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = NULL,COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' ';
end; //exchanged havebeing congressmessage;
END; Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
end;//1 if length(posmessager) > 0 then
begin
sql:='DELETE FROM COM_MESSAGER WHERE COMID = '''+ID+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
for i:=0 to length(posmessager)-1 do
begin
if posmessager[i].id = 0 then
begin
if formatdatetime('YYYY-MM-DD',posmessager[i].Born) <> '1899-12-30' then
sql:='INSERT INTO COM_MESSAGER (COMID,MESSAGERNAME,MALE,BORN,'
+'COMWORK,TEL,FAX,EMAIL,OPER,EXTRA) VALUES ('''+trim(edComID.Text)
+''','''+posmessager[i].Name+''','''+posmessager[i].Male+''','''+formatdatetime('YYYY-MM-DD',posmessager[i].Born)
+''','''+posmessager[i].ComWork+''','''+posmessager[i].Tel
+''','''+posmessager[i].Fax+''','''+posmessager[i].EMail+''','''','''+formatdatetime('YYYY-MM-DD',posmessager[i].Born)+''')'
else
sql:='INSERT INTO COM_MESSAGER (COMID,MESSAGERNAME,MALE,'
+'COMWORK,TEL,FAX,EMAIL,OPER) VALUES ('''+trim(edComID.Text)
+''','''+posmessager[i].Name+''','''+posmessager[i].Male
+''','''+posmessager[i].ComWork+''','''+posmessager[i].Tel
+''','''+posmessager[i].Fax+''','''+posmessager[i].EMail+''','''')';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
end;
end;
end;
略更新其他数据部分,也是先删除数据在根据相关记录数组一条条加进去
Application.MessageBox(MSG006,TIT006,mb_OK);
end else
exit;
end
else
begin
Application.MessageBox('已有该会员编号','无法操作',mb_ok);
exit;
end; except
end;end;
代码具体如下
procedure TfrmComIn.BitBtn2Click(Sender: TObject);
var
Qry,QryE:TADOQuery;
sql,temp:string;
i:integer;begin
Qry := TADOQuery.Create(nil);
Qry.Connection := frmmain.MainDatabase;
try
sql:='SELECT * FROM COMUNION_HDR WHERE COMID = '''+trim(edComID.Text)+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.add(sql);
Qry.open; if Qry.RecordCount = 0 then
begin ... end
else if id <> '' then
begin
if Application.MessageBox('已有该会员编号,是否修改',TIT005,mb_OKCANCEL+MB_ICONINFORMATION)=mrok then
//if Application.MessageBox(MSG015,TIT015,mb_OKCANCEL+MB_ICONINFORMATION)=mrok then
begin
sql:='UPDATE COMUNION_HDR SET COMID = '''+trim(edComID.Text)+''', COMIDHEAD = '''+copy(trim(edComID.Text),1,1)
+''',COMIDBODY = '''+copy(trim(edComID.Text),2,4)+''',COMNAME = '''+trim(edComName.Text)
+''', WORKNAME = '''+trim(cobUnionWork.text)+''',COMINLOW = '''+trim(cobOwnerShip.text)
+''', BUSINESS = '''+trim(cobBusiness.Text)+''',DISTRICT = '''+trim(cobDistrict.text)
+''', ADDRESS = '''+trim(edAddress.text)+''',ZIP = '''+trim(edZip.text)+''',TEL = '''+trim(edTel.text)
+''', FAX = '''+trim(edFax.text)+''',NETADDRESS = '''+trim(edEMail.text)+''',com1 = '''+str1+''',com2 = '''
+str2+''',com3 = '''+str3+''',com4 = '''+str4+''' WHERE '
+'COMID = '''+ID+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL; if trim(edCongressname.text) <> '' then
begin//1
Qry.close;
Qry.sql.clear;
Qry.sql.Add('SELECT * FROM COM_CONGRESS WHERE COMID = '''+ID+''' ');
QRY.OPEN; IF QRY.RecordCount = 0 THEN
BEGIN
if ckbConBorn.Checked then
sql:='INSERT INTO COM_CONGRESS (COMID,CONGRESSNAME,MALE,BORN,'
+'COMWORK,SOCIEWORK,TEL,FAX,EMAIL,UNIONWORK,OPER,EXTRA) VALUES ('''+trim(edComID.Text)
+''','''+trim(edCongressName.Text)+''','''+trim(cobMale.text)+''','''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''','''+trim(cobComWork.Text)+''','''+trim(cobSocieWork.text)+''','''+trim(edComTel.text)
+''','''+trim(edComFax.text)+''','''+trim(edComEMail.text)+''','''+trim(cobComUnionWork.text)+''','''','''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)+''')'
else
sql:='INSERT INTO COM_CONGRESS (COMID,CONGRESSNAME,MALE,'
+'COMWORK,SOCIEWORK,TEL,FAX,EMAIL,UNIONWORK,OPER) VALUES ('''+trim(edComID.Text)
+''','''+trim(edCongressName.Text)+''','''+trim(cobMale.text)+''','''
+trim(cobComWork.Text)+''','''+trim(cobSocieWork.text)+''','''+trim(edComTel.text)
+''','''+trim(edComFax.text)+''','''+trim(edComEMail.text)+''','''+trim(cobComUnionWork.text)+''','''')';
END
ELSE
BEGIN
if copy(id,1,1) <> 'P' then
begin
if ckbConBorn.Checked then
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',EXTRA = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' AND (UNIONWORK IS NULL OR UNIONWORK = '''') '
else
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = NULL,COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' AND (UNIONWORK IS NULL OR UNIONWORK = '''') ';
end
else
begin
if ckbConBorn.Checked then
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',EXTRA = '''+formatdatetime('YYYY-MM-DD',dtpCongressBorn.DateTime)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' '
else
sql:='UPDATE COM_CONGRESS SET CONGRESSNAME = '''+trim(edCongressName.Text)+''',MALE='''
+trim(cobMale.text)+''',BORN = NULL,COMWORK = '''+trim(cobComWork.Text)+''',SOCIEWORK = '''+trim(cobSocieWork.text)
+''',UNIONWORK = '''+trim(cobComUnionWork.Text)+''',TEL='''+trim(edComTel.text)+''',FAX = '''+trim(edComFax.text)+''',EMAIL='''+trim(edComEMail.text)+''' WHERE '
+'COMID = '''+ID+''' ';
end; //exchanged havebeing congressmessage;
END; Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
end;//1 if length(posmessager) > 0 then
begin
sql:='DELETE FROM COM_MESSAGER WHERE COMID = '''+ID+''' ';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
for i:=0 to length(posmessager)-1 do
begin
if posmessager[i].id = 0 then
begin
if formatdatetime('YYYY-MM-DD',posmessager[i].Born) <> '1899-12-30' then
sql:='INSERT INTO COM_MESSAGER (COMID,MESSAGERNAME,MALE,BORN,'
+'COMWORK,TEL,FAX,EMAIL,OPER,EXTRA) VALUES ('''+trim(edComID.Text)
+''','''+posmessager[i].Name+''','''+posmessager[i].Male+''','''+formatdatetime('YYYY-MM-DD',posmessager[i].Born)
+''','''+posmessager[i].ComWork+''','''+posmessager[i].Tel
+''','''+posmessager[i].Fax+''','''+posmessager[i].EMail+''','''','''+formatdatetime('YYYY-MM-DD',posmessager[i].Born)+''')'
else
sql:='INSERT INTO COM_MESSAGER (COMID,MESSAGERNAME,MALE,'
+'COMWORK,TEL,FAX,EMAIL,OPER) VALUES ('''+trim(edComID.Text)
+''','''+posmessager[i].Name+''','''+posmessager[i].Male
+''','''+posmessager[i].ComWork+''','''+posmessager[i].Tel
+''','''+posmessager[i].Fax+''','''+posmessager[i].EMail+''','''')';
Qry.close;
Qry.sql.Clear;
Qry.sql.Add(sql);
Qry.ExecSQL;
end;
end;
end;
略更新其他数据部分,也是先删除数据在根据相关记录数组一条条加进去
Application.MessageBox(MSG006,TIT006,mb_OK);
end else
exit;
end
else
begin
Application.MessageBox('已有该会员编号','无法操作',mb_ok);
exit;
end; except
end;end;
解决方案 »
- delphi中怎样把string转为array of byte?
- windowsmediaplayer 播放AVI文件
- 编译时候怎么指定输出的exe文件名(不与默认project名相同)
- 请教:怎样在一个表中实现:按照第二列D2升序排列,同时相同的D2又按照第四列D4降序排列。
- 求sql或者其他方法我想达到这个目的该怎么
- 如何在quickreport的页脚对每一页进行合计,急救。
- Tquery 中的parambyname()函数相当于TADOQuery控件中的什么函数呢?
- 我怎么才能打开一个html文件并让用户做一些修改并另存为自己的文件呢?
- 爱迪尔门锁调用DLL如何连接数据库
- delphi自带的Corba的demo为什么找不到哦orbpas41.dll?
- 邪邪邪,如何在内存中操作数据库?
- cxgrid里怎样获取当前字段名啊?找了很长时间了
Ado连接成功了吗?
你可以先执行一句简单的Sql语句,比如清空整张表,看看有没有执行.