delphi Clientdataset ApplyUpdates 问题

数据库字段 datetime 类型 存储数据有 毫秒的时候 Clientdataset ApplyUpdates 报错

0

1个回答

delphi Clientdataset ApplyUpdates 函数能正确执行,要求条件比较高。
它只能在新增数据后能有效执行,其它时候常出错。
因此,本人在使用中,不使用这条函数。而是自行编辑一个函数代替了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何ClientDataSet的ApplyUpdates方法
1.ClientDataSet使用ApplyUpdates方法时候,有哪些参数,例如ClientDataSet.ApplyUpdates(0),ClientDataSet.ApplyUpdates(1),ClientDataSet.ApplyUpdates(2)....rn2.更新数据,返回结果有哪些,那些表示成功,哪些表示失败,没有更新到数据库里?rn请教各位!
delphi ora applyupdates效率问题
有一张表需要导入数据,每循环一次先做post操作,等循环完毕后做applyupdtes操作。该表目前数据有二十万左右,我导入了有一千条数据,大概等了约一分半钟。请问有没有办法提高效率。
Delphi ClientDataSet 的问题
我用的ClientDataSet.First;rn比如: Str := ClientDataSet.Fields[0].AsString;rn但是输出的Str不是第一个,SQL语句中的第一个,是什么问题
delphi clientdataset filter问题
delphi clientdataset filter时rnrncds1.filtered:=false;rncds1.filter:='id in(23,213,43,345,242,324,2234)rncds1.filtered:=true;rn当 in(23,213,43,345,242,324,2234)里面的个数超过1000个或是长度过大时,运行就会报错,个数没超过就没有问题,rn有没有高手遇到过?
在applyupdates之前,怎样给clientdataset赋值表名???
-
clientdataset的ApplyUpdates(0)的时候SQLSERVER报错误
请问为什么我在clientdataset的ApplyUpdates(0)的时候SQLSERVER总是报这样的错误?SQL Server Error:Cannot create new transaction because in manual or distributed transaction mode.谢谢解答!!!rn
ApplyUpdates的问题!
我在执行ApplyUpdates时,出现了"at end of table"的错误提示,不知道有谁见过这样的错误提示,如有请告子,谢谢。一定加分。
delphi clientdataset 三层 存储过程问题
小弟是新手,现在用dcom组件已经做好了一个服务器端,客户端也可以用clientdataset来得到数据,现在的问题是:我在SQL数据库已做好了一个存储过程,现在不知道怎么用cliendatast来调用,我看了以前的一些贴子,都没有解决,我那个存储过程有三个变量,@a,string,@b,string, @c output,另外就是,调用了以后,我怎么得到返回的值呢?谢谢了!
delphi导出clientdataset到dbf的问题?
字段名或字段值有中文的有问题,如何解决?rnvar filename:string;rni,count:integer;rnbeginrnif datasource1.dataset.active=false then exit;rni:=0;rncount:=datasource1.dataset.recordcount;rnfilename:='';rnif savedialog2.Execute thenrnbeginrnfilename:=savedialog2.FileName;rnTable_DBF.Active:=false;rntable_dbf.DatabaseName:='C:\';rnTable_DBF.TableName:=filename;rnTable_DBF.TableType:=ttFoxPro;rnrnif not Table_DBF.Exists then beginrn with Table_DBF.FieldDefs dorn beginrn Clear;rn //循环定义字段开始rnfor i:=0 to datasource1.DataSet.FieldCount-1 dorn beginrn Table_DBF.FieldDefs.add(datasource1.DataSet.FieldDefs[i].DisplayName,datasource1.DataSet.FieldDefs[i].DataType,datasource1.DataSet.FieldDefs[i].Size);rn end;rn Table_DBF.CreateTable; rn end;rnend;if not //定义字段结束rnrni:=0;rnrntryrnTable_DBF.Active:=True;rnif not Table_DBF.eof thenrnbeginrnTable_DBF.Close;rnTable_DBF.EmptyTable;rnTable_DBF.Open;rnend;rnexceptrnon e:exception dornbeginrnTable_DBF.Close;rnApplication.MessageBox(pchar(e.message+'数据库错误'),'error', MB_OK+MB_ICONERROR);rnexit;rnend;rnend;rndatasource1.dataset.First;rnwhile not datasource1.dataset.Eof dornbeginrn//插入DBF文件rnrn for I := 0 to datasource1.dataset.FieldCount - 1 dorn beginrnTable_DBF.Append;rnTable_DBF.Fields[i].Value:=datasource1.dataset.Fields[i].value;rnTable_DBF.Post;rn end;rnrndatasource1.dataset.Next;rnend;rnTable_DBF.Close;rnrnend;rnrn字段名或字段值有中文的有问题,如何解决?
关于Delphi中ClientDataSet的问题!
请问在Delphi的ClientDataSet中出现以下语句是怎么回事?rnVariable 'Self' inaccessible here due to optimizationrn好像出现这样的情况,Commandtext的Sql语句就不会执行了。
Delphi与Oracle的问题?Why???ApplyUpdates用不了了???
各位大虾,小弟我最近在使用Orcale数据库和Delphi编程时遇到了如下的问题:rn我使用了三层结构客户端使用ClientDAtaSet的ApplyUpdates(0)方法更新数据库时rn服务器端报错,说‘error find record’,导致数据无法更新?相同的程序和方法rn在Paradox为数据库下运行时无任何问题,这是为什么?rn 此问题已困扰小弟多天,各位大虾请不吝赐教,不胜感激。rn Orcale版本:8.0.5(Soloris下),Delphi版本:5.0
delphi clientdataset 插入数据?
数据库里有2个表,bwl 和 group,n程序打开显示bwl表里的数据,但是用clientdataset.append给group添加数据的时候会添加到bwl的表里,我想添加到group的表里,是不是漏了什么步骤和设置啊。nSQLQuery和clientdataset都是动态创建的.
delphi clientdataset open 异常
with fdm.ClientDataSet17 dorn beginrn Close;rn fdm.ClientDataSet17.CommandText:= 'select * from 部门指标评价 where (年度='+cxComboBox1.Text+') rn and (月度='+cxComboBox2.Text+')and (部门KPI代码='''+FDM.ClientDataSet8.FieldByName('部门KPI代码').AsString+''')';rn Open;rn end;rnrnclientdataset17现在打不开了,不能再CXGRID里显示出来,我是通过ADO链接的数据库,在同一情况下,clientdataset1.open是正常的, 什么情况?
Delphi打开clientdataset报错
一段代码中执行了2次如下代码,第二次执行就报错物理地址错误——Access violation at address 00000040. Read of address 00000040,可是单独做一个类似情况的demo,就不会有问题,为什么?一般报这种错误是什么引起的?rnwith ClientDatasetdornbeginrn CLose;rn Data := null;rn Params.ParamByName('id').Value := id;rn Params.ParamByName('times').Value := times;rn Params.ParamByName('sol').Value := Sled_sn;rn Open;rnend;
simpledataset的ApplyUpdates问题
当用ApplyUpdates(0)保存处于edit 状态的数据时,出现如下错误提示:record not found or changed by another user rn再运是Unable to find recorder,no key specified.rnrn请问各位,这是什么原因,该如何解决?rnrn
clientdateset 的 ApplyUpdates的问题
Dmain.cdsC.First;rn while not Dmain.cdsC.Eof dorn beginrn if (条件) then rn beginrn //其他操作 rn Dmain.cdsC.Delete;//删除在数据库中已经存在的记录rn endrn elsern if (条件) thenrn beginrn //其他操作 rn Dmain.cdsC.Next;rn end; rn end;rn Dmain.cdsC.RecordCount;//记录数正确,为删除后的数据集的记录数,例如原来Dmain.cdsC有100条,删除20条,现在为80条rnrn Dmain.cdsC.First;rn while not Dmain.cdsC.Eof do //查看cdsC中确实已无主键重复的记录rn beginrn sID := Dmain.cdsC.FieldByName(ID).AsString;rn Dmain.cdsC.Next;rn end;rnrn Dmain.cdsC.ApplyUpdates(0);//报错,提示不唯一,主键冲突rnrn //以下语句可以执行,但实际插入到数据库中的记录为160条,为重复的80条,像是执行了两次ApplyUpdatesrn Dmain.Qrya.Close;rn Dmain.Qrya.SQL.Clear;rn Dmain.Qrya.SQL.text:='ALTER TABLE BZK_ZK_CARDINFO DISABLE CONSTRAINT CARD_INFO_KEY_YUANID';rn Dmain.Qrya.ExecSQL(TRUE);rn Dmain.Qrya.ApplyUpdates(0);rn rn 困惑中...,不知何解
ClientDataSet组件的Refresh,close,open,applyupdates之间的区别是什么?
ClientDataSet组件的Refresh,close,open,applyupdates之间的区别是什么?rn它们在插入,删除,和编辑操作时应该怎么和insert ,delete,edit结合使用?rnrn
Clientdataset的ApplyUpdates过程和UpdateRecord到底用哪个,有什么区别?
是不是到了中间层Privder那里,这两个过程激活的事件不一样?rn
TClientDataSet的ApplyUpdates的问题
问题一如下:rn在执行DataModal->ClientDataSet1->ApplyUpdates(0);之后rnthis->btnPost->Enabled = false;rnthis->btnCancel->Enabled = false;这两句就不在执行,为什么?rn问题二如下:rnDataModal->ClientDataSet1->ChangeCount的值好像也是乱执行的,不是现实中的修改值rn比如我第一次没有修改就保存时候,执行正确rn下一次修改保存后,再进行没有修改的保存,它执行错误rn这是为什么?rn先谢了rnrn我的代码如下rnvoid __fastcall TfrmCpyjdjSz::btnPostClick(TObject *Sender)rnrn //判断是否修改了数据,修改了而且要保存修改,则保存rn if (DataModal->ClientDataSet1->ChangeCount > 0)rn rn if (Application->MessageBoxA("您确定保存修改吗?","提示",MB_YESNO) == 1)rn rn //如果用户确定保存数据,则保存rn DataModal->ClientDataSet1->ApplyUpdates(0);rn DataModal->ClientDataSet1->Refresh();rnrn this->btnPost->Enabled = false;rn this->btnCancel->Enabled = false;rn rn rn else //如果没有修改数据,就返回不执行ApplyUpdatern rn Application->MessageBoxA("数据没有修改","提示",MB_ICONASTERISK);//提示rn rnrn this->dbgCpyjdjSz->ReadOnly = true;rnrnrn
有关applyupdates问题
请给为大虾帮忙,我现在不明白applyupdates()的用法,为什么要用,什么时候用,请帮忙解释一下。谢谢!!!
关于applyupdates的问题
如果我想在applyupdate前对数据包进行处理,比如告诉服务器这个数据包是谁发出的,应该如何做?
一个applyupdates的问题!
SQL 2000 serverrnSocketConnectionrnClientDataset1;rnClientDataset2;rnClientDataset3;rn最近检查删除操作,rnClientDataSet1->Delete();rnClientDataSet1->ApplyUpdates();rnif(ClientDataset1->ChangeCount>0)rnrn MessageDlg("数据未能保存!",mtError,TMsgDlgButtons()<
关于TClientDataSet的ApplyUpdates问题?
我在用TClientDataSet的ApplyUpdates返回大于0无法保存数据,但用CommandText则可保存数据,我想自己解读Delta属性,请各位帮忙告知Delta属性的解读方法!
Delphi 7 中 clientdataset 的数据赋值问题
请各位大侠看看下面这个函数为什么返回的clientdataset 是空的,注意传递的sql本身执行后是有数据的,但是就是返回的clientdataset是空的。rn[code=Delphi(Pascal)]rnfunction TfrmComm.SetEditData(strSql:string): TClientDataSet;rnvarrn cds: TClientDataSet;rn i: integer;rn aDataType: TDataType;rn Query:TADOQuery;rnbeginrn Query:=TADOQuery.Create(nil);rn cds := TClientDataSet.Create(nil);rn tryrn Query.Connection:=dmConn.Connection;rn Query.Close;rn Query.SQL.Text:=strSql;rn Query.Open;rn //到这里,query是有数据的rn cds.FieldDefs.Clear;rnrn for i := 0 to Query.FieldCount - 1 dorn beginrn aDataType := Query.Fields[i].DataType;rn cds.FieldDefs.Add(Query.Fields[i].FieldName, aDataType);rn end;rn cds.CreateDataSet;rn cds.Open;rn cds.Insert;rnrn for i := 0 to Query.FieldCount - 1 dorn beginrn cds.Fields[i].AsVariant := Query.Fields[i].AsVariant;rn end;rn cds.Post; //cds中没有记录,哭!rn rn finallyrn Query.Free;rn end;rn rn Result := cds;rnend;rnrnrn[/code]
关于delphi的clientdataset多表更新问题
delphi初学者又来提问了。。希望各位达人不吝赐教啊,,rnrn由于需要,本人Delphi程序中需要大量使用多表查询,且这些查询经常使用"left outer join".“”“right outer join”模式连接,即查询结果包含A表的全部与B表的相关记录,而在工作过程中又需要对这些多表查询结果进行即时更新,rnrn本人使用ado+datasetprovider+clientdataset控件,但时常碰到奇怪问题,如下rnrn问题:在对查询结果进行修改并执行更新clientdataset.applyupdates(0)时,经常发生两种错误rn1、无任何效果rn即执行未报错,但没有完成更新rn2、更新错位rn本打算更新A行,结果却传递到了B行,例如本来将A行a1字段内容‘xxx’修改为'xxx123',结果B行a1字段内容'yyy'变成了'yyy123'。rnrn在网上查了很久,看了很多关于clientdataset的文章,不得头绪,急切求助啊。rnrn补充:rn1:别提什么使用sql命令更新啥的了,我的表格经常需要好几个表联合查询,要是一个个都用Sql语句,肯定被搞死了,,rn
delphi数据库设计的两个问题 on clientdataset and tquery
rn 想用一个stringgrid显示出被修改过,或是添加的记录,clientdataset中有没有rn可以指示记录以上两种状态的属性?rnrn 另:将tquery的requestLive属性设为true就可以获得可修改的dataset,但我练oracrnle数据库时,一旦将requestlive属性设为true,就提示不存在表。但sqlserver 就可以rn。是不是与dbms设置相关的?rnrn 3x.rn
delphi 生僻字写入clientdataset 出现乱码?问题
delphi clientdataset 写入值时乱码问题 今天出现生僻字写入clientdataset 出现?情况,记录下解决方法 将字段类型改为ftwidestring 就可以了
关于ApplyUpdates
试了TClientDataSet和TSimpleDataSet,无论是那种控件的ApplyUpdates方法都不能将缓存里的记录提交到数据库里,不知是怎么回事。
clientdataset 问题
在客户端的程序rn怎么post的啊?rn比如我想插入一条数据clientdataset.insert;rn clientdataset.fieldsbyname('姓名').value:='张三'; rn clientdataset.post;rn可是这样数据库里面的数据还是没有改变啊rn请高手指点
clientdataset问题
我用databriage,dataset DCOM等操作数据,显示在DBGrideEh中rnrn用add del save按钮操作rnrn我a增加一条记录可以,删除一条可以rnrn1.但是当我增加一条后,接着删除一条,save后,就不行了,数据库没变化rnrn2.我在DBGridEh中更改一条,然后save也不行rnrn3.我增加或删除一条纪录后,然后add出一个空行,不填数据,save 后也不行rnrn谁知道为什么阿rnrnrn[code=Delphi(Pascal)]rn//增加一行 add触发rnprocedure TForm13.SpeedButton4Click(Sender: TObject);rnbeginrn CDSEdit.Append;rnend;rn//删除一行del触发rnprocedure TForm13.SpeedButton3Click(Sender: TObject);rnbeginrn if not CDSEdit.Eof thenrn if MessageDlg('确定要删除此纪录么?',mtConfirmation,[mbYes,mbNo],0)=idYes thenrn beginrn CDSEdit.Delete;rn end;rnend;rnrn//保存结果save触发rnprocedure TForm13.SpeedButton5Click(Sender: TObject);rnbeginrn if CDSEdit.Modified thenrn beginrn DBEdit.ApplyUpdates(0);rn end;rnend;rn[/code]
clientdataset的问题。
我用clientdataset1.commandtext:='select * from mytable';rnclientdataset1.open;rnrn方法查询数据库,现在我想知道符合条件的记录的个数,怎么才能得到呀这个数字呀。
clientdataset的问题!
把clientdataset 的 PackerRecords 设置为10,为何每次下载的记录不止10rn条,还有其它的地方要设置的吗?
Clientdataset 问题????????/
我用dataBridge clientdateset datasource DBGridEh作报表rnrn现在DBGridEh的数据是从两个table中查询的,两个table用ID做连接rnrn其中有一个table的数据,用户可以在DBGridEh中更改,然后点击save按钮保存rnrn怎样实现保存呢,我想把两个dataset连接起来,然后再调用dataset的appplyUpdate方法rn两个dataset如何连接,我忘记了rnrn谁能提供各好点的方法阿
clientdataset问题。
我想实现这样的功能。rnset @checked='0' rnselect @checked as del,a.* From PUR_VI_OrderMaster as a rn@checked列在表pur_vi_orderMaster不存在,我想用这一列来在dxdbGrid中实现复选框,问题是只能修改一行,修改一行后,在dxdbgrid中一移动,就出错。我用的是TclientDataset.
clientdataset 的问题,
[b][size=24px]我的控件设置和意思可能有问题,但我就是不知是哪里的愿意,前辈谢谢了,[/size][/b]rnrn1)小弟之前没用过Clientdataset,都是用ADOQ,知道cds好用,但真不会,遇害到问题了,希望前辈指点,再感谢rnrn问题:rnrnA:我在DM建了三个控件,ADO+DataSetProvider+Cdsgy 属性如下rnB:用户操作窗口我用Cds1+ds rnC 我所有的窗口取数据都是 Cds1赋值SQL给DM.Cdsgy ,DM.Cdsgy得到值后然后再赋值回来(cds1.data:=DM.cdsgy.data)顺利。rnrnD:我现在插入和修改出问题了,我用以下办法,不行rn DM.cdsGY.Data:=cdshelp.Data;rn DM.cdsGY.ApplyUpdates(0); rn 插入和修改 都是第一笔数据顺利,可第二笔出错,插入提示数据重复(数据不重复),修改提示如下rnrnrnrnrnrnrnrn[img=https://img-bbs.csdn.net/upload/201411/07/1415373014_961472.png][/img]rnrnrnrn[img=https://img-bbs.csdn.net/upload/201411/07/1415374007_43993.png][/img]
clientdataset的问题
clientdataset2.Data:=ClientDataSet1.Delta;rnif not fileExists('c:\www.cds') thenrnClientDataSet2.SaveToFile('c:\www.cds') elsernbeginrnClientDataSet2.LoadFromFile('c:\www.cds');rn?怎么做 ClientDataSet2.Data:=ClientDataSet2.Data+ClientDataSet1.Delta;rnClientDataSet2.SaveToFile('c:\www.cds');rnend;
ClientDataSet的问题!
三层结构中,我只想改变ClientDataSet数据集中的数据,但不与数据库发生交互!怎么改!
ClientDataSet问题
如果将ClientDataSet中数据导入到相应的数据表中呢?
ClientDataSet的问题
ClientDataSet编辑记录前如何锁定?
Delphi的ClientDataSet使用模糊过滤
问题:delphi中ClientDataSet.Filter可不可字符前后模糊过滤啊??,> 比如我要查询CA001我输入 orderno=‘CA*是可以查出来的,可是如果用> orderno=*A00*查不出来。> 所以麻烦问一下如果要字符前后都通配应该怎么写?谢谢。这个问题测试之后情况是这样的:ClientDataSet支持模糊过滤,但要使用orderno like %123%这样的
相关热词 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd c# 操作sql视图