我的意思是把本地表中info表中的修改记录的密码更新到服务器上的“职工”表的相应记录(职工编号一致)的密码。
代码如下 adoconnection1连接本地的access数据库
adoconnection2连接服务器的sql数据库 执行报错“超时已过期”。错误出在第二句:
//用新导入的表更新服务器上的“职工”表
adoconnection2.Execute('update 职工 set 职工.密码=zhi.密码 from 职工,zhi where 职工.职工编号=zhi.职工编号');
如果有别的解决办法也请大家帮忙。
我不知道是不是adoconnection1.CommitTrans未执行,所以adoconnection2找不到zhi这个临时表。
if not adoconnection1.InTransaction then
adoconnection1.BeginTrans;
if (not adoconnection2.InTransaction)then
adoconnection2.BeginTrans;
try
//将本地表上的数据选择导入服务器并建一新表
adoconnection1.Execute('select * into zhi in [ODBC][ODBC;Driver=SQL Server;UID=sa;PWD=654321;Server=systembase;DataBase=分公司;] from info');
//用新导入的表更新服务器上的“职工”表
adoconnection2.Execute('update 职工 set 职工.密码=zhi.密码 from 职工,zhi where 职工.职工编号=zhi.职工编号');
//删除服务器新导入表
adoconnection2.Execute('drop table zhi');
//将本地表数据更新
adoconnection1.Execute('update 职工 set 修改标识=0 where 修改标识=1');
adoconnection2.CommitTrans;
adoconnection1.CommitTrans;
except
if adoconnection2.InTransaction then adoconnection2.RollbackTrans;
adoconnection1.RollbackTrans;
exit;
end;
代码如下 adoconnection1连接本地的access数据库
adoconnection2连接服务器的sql数据库 执行报错“超时已过期”。错误出在第二句:
//用新导入的表更新服务器上的“职工”表
adoconnection2.Execute('update 职工 set 职工.密码=zhi.密码 from 职工,zhi where 职工.职工编号=zhi.职工编号');
如果有别的解决办法也请大家帮忙。
我不知道是不是adoconnection1.CommitTrans未执行,所以adoconnection2找不到zhi这个临时表。
if not adoconnection1.InTransaction then
adoconnection1.BeginTrans;
if (not adoconnection2.InTransaction)then
adoconnection2.BeginTrans;
try
//将本地表上的数据选择导入服务器并建一新表
adoconnection1.Execute('select * into zhi in [ODBC][ODBC;Driver=SQL Server;UID=sa;PWD=654321;Server=systembase;DataBase=分公司;] from info');
//用新导入的表更新服务器上的“职工”表
adoconnection2.Execute('update 职工 set 职工.密码=zhi.密码 from 职工,zhi where 职工.职工编号=zhi.职工编号');
//删除服务器新导入表
adoconnection2.Execute('drop table zhi');
//将本地表数据更新
adoconnection1.Execute('update 职工 set 修改标识=0 where 修改标识=1');
adoconnection2.CommitTrans;
adoconnection1.CommitTrans;
except
if adoconnection2.InTransaction then adoconnection2.RollbackTrans;
adoconnection1.RollbackTrans;
exit;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货