ADO的锁定问题(50分)

  • 主题发起人 zswenyun
  • 开始时间
Z

zswenyun

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);
var TempGsStr,LeftHC:string;
begin
LeftHC:='4';
TempGsStr:='12.12';
ADOqryTempSyb.Close;
ADOqryTempSyb.sql.clear;
ADOqryTempSyb.sql.add('update CWBB_TEMP_SYB');
ADOqryTempSyb.sql.add('set BQS='+TempGsStr);
ADOqryTempSyb.sql.add('from CWBB_TEMP_SYB');
ADOqryTempSyb.sql.add('where HC='+'"'+LeftHC+'"');
ADOqryTempSyb.ExecSQL;
ADOqryTempSyb.close;
ADOqryTempSyb.SQL.Clear;
ADOqryTempSyb.SQL.Add('select*from CWBB_TEMP_SYB');
ADOqryTempSyb.open;
ADOqryTempSyb.Locate('HC',LeftHC,[])//出错
end;
错误内容为:“在获得新的之前,必须释放所有的ROW句柄”
LOCKTYPE为乐观锁定,coursortype为:ctKeyset
LOCKTYPE用了ltBatchOptimistic还是同样的错误,不知道什么原因,
那位大虾帮我看一下
 
ADOqryTempSyb.sql.add('where HC='+'"'+LeftHC+'"');
//什么数据库,能支持""号字符串括号么?
ADOqryTempSyb.ExecSQL;
//ADOqryTempSyb.close;先注释掉再说
ADOqryTempSyb.SQL.Add('select*from CWBB_TEMP_SYB');//有没有写错,sql中空格都没有
ADOqryTempSyb.Locate('HC',LeftHC,[])//
ADOqryTempSyb.Locate('HC',Variant(LeftHC),[])
//如果是bde连接的话,好象找不到指定记录会抛出一个异常.

不过说实在的,你写的错误信息我没见过,与上面的可能没关系.
 
哦,我只是说那个查找定位部份的。。。。。
procedure TForm1.Button1Click(Sender: TObject);
var TempGsStr,LeftHC:string;
begin
With ADOqryTempSyb do
Begin
LeftHC:='4';
TempGsStr:='12.12';
Close;
Clear;
SQL.Add('update CWBB_TEMP_SYB');
SQL.Add('set BQS='+TempGsStr);
SQL.Add('from CWBB_TEMP_SYB');
SQL.Add('where HC='+'"'+LeftHC+'"');
ExecSQL; //上面照抄你的

Close;
Clear;
SQL.Add('select * from CWBB_TEMP_SYB');
Open;
If RecordCount>0 then Locate('HC',LeftHC,[loPartialKey]); //
end;//with
end;
 
>>to :lynu,小小K,
》》什么数据库,能支持""号字符串括号么?
在数据库SQL语句中都可以用‘”’的在基本上的数据库中都可以用(实践证明)
》》ADOqryTempSyb.close;先注释掉再说
不行,在ADOqryTempSyb.SQL.Clear;会出错
》》有没有写错,sql中空格都没有
没写错,本来就这样写
》》如果是bde连接的话,好象找不到指定记录会抛出一个异常.
不是用BDE,用的是SYBASE数据库,用ODBC连ADO的D5+WIN2000
》》小小K,
你怎么能把我的更新语句去掉呢,那程序的目的就达不到了


 
>>ADOqryTempSyb.sql.add('from CWBB_TEMP_SYB');
SYBASE没有用过,没有使用子查询的update要用from么?
 
是呀在SYBASE中要呀
 
通过odbc联接数据库经常会带来莫明其妙的问题。
还是找找个Ole DB Provider for SYBASE吧.
 
可直Ole DB Provider for SYBASE那里有得下啊!
我是找了很久都找不到
 
没用过sybase,但从网上看到的:
The Sybase OLE DB provider from the Sybase 12.5 client CD
找找看吧.
 
什么网站呀?
 
对不起,记不得了.我是在一个介绍各种数据库连接串写法的网页上看到的.
到sybase的网站/论坛/新闻组等地方找找吧.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
843
SUNSTONE的Delphi笔记
S
I
回复
0
查看
682
import
I
顶部