为何不能修改数据库?(100分)

  • 主题发起人 主题发起人 CoolGo
  • 开始时间 开始时间
C

CoolGo

Unregistered / Unconfirmed
GUEST, unregistred user!
我用下列语句对数据库进行修改,运行过程中程序未报错,但数据库中该修改
的数据却纹丝不动,不知何故,望高手指点。
clientdataset1.Close;
clientdataset1.Provider.DataRequest('select * from mydb where mid=9');
clientdataset1.Open;
clientdataset1.Edit;
clientdataset1location.AsString:='zgpeedddddd';
clientdataset1materialcontent.Clear;
clientdataset1materialcontent.LoadFromFile('c:/2.gif');
clientdataset1.Post;
 
why not applyupdates(-1)?
 
我一用applyupdates(-1)就报错,错误信息如下:
unable to find record,No key specified.
 
哈哈,我刚刚解决这个问题。
你的数据库的MYDB表中一定有自动增加字段,所以有这个问题(附:这个问题只发生在多层
结构中)。把你的SQL语句改一下,SELECT 段中不要选择AUTO字段,再试一下。
 
如果服务器端的中间层中的Query的RequestLive属性设为True
那么客户端中的Clientdataset控件设置查询中如果设了条件语句
的话,那么查询时会报错:"Could not find object"。
如果Query的RequestLive属性设为False;可以进行条件查询。但是在
修改记录以后进行Clientdataset1.applyupdate(-1)时报错:
"Unable to Find Record.No key Specified"
如果Query的RequestLive属性设为True,Clientdataset不进行条件查询。
可以对当前记录进行修改。
以上现象,百思不得其解,望高手指教!
 
如果数据库为SQL Server的话,采用BDE,且RequestLive设为True,
当SQL语句中有where条件的,
SQl语句中的表名、字段名必须跟数据库中的大小写一致
否则就会出现:"Could not find object"。
 
刘素杰
I 服了 you!
100大圆恭敬送上。
 
后退
顶部