用clientdataset往数据库中插入数据,表中有一个字段是二进制,请问如何在插入其他数据的同时插入二进制数据,这样的SQL语句怎样写?
解决方案 »
- delphi 2006 Update1在eMule上有下载了
- 用NMUDP控件编写局域网聊天遇到的莫名问题。
- 有谁贴出来TStringGrid的使用方法。怎么设置各个单元格的颜色等设置。
- 帮我看看这段代码怎么写才对!
- Apache WebService 的发布问题,除了需要在conf中加载模块还要什么
- 如何保存数据集的结果?在线等待......
- 怎么安装控件包啊?
- 100分,你值得拥有,串口数据通过UDP发送的问题
- 400分求如何打开一个ppt文件,控制它的翻页,然后将当前帧保存为jpeg或html??
- delphi6如何開發 c/s 應用程序,我很迷惑,從設計到開發,我該怎麼去做!
- 给我建议!
- 惨了~~原来没给分??
"数据"字段是二进制,难道直接把Tblobfield(clientdataset1.fieldbyname('数据')).loadfromfile('')写在values中,好象不行吧。
CLIENTDATASET1。PARAMTERS。
procedure TfrmS_OrgaStruct.SaveTreeToDb;
var
ms:Tmemorystream;
begin
cdsmain.active:=false;
cdsmain.CommandText:='select * from table where 1=2');
cdsmain.active:=true;
ms:=Tmemorystream.create;
try
TrvM.SaveToStream(ms);
cdsmain.Append;
cdsmain.FieldByname('id').AsInteger:=1;
TBlobField(cdsmain.FieldByname('blob')).Loadfromstream(ms);
cdsmain.Post;
cdsmain.applyupdate(0);
finally
ms.free;
end;
end;
TBlobField(cdsmain.FieldByname('blob')).Loadfromfile(filename);就可以了
clientdataset1.commandtext:='insert .... values(....);这样的怎么写
ClientDataSet1.Close;
clientdataset1.CommandText:= 'insert into 法律法规表(名称,类型,密级) values('''+edit2.Text+''','''+edit3.Text+''','''+combobox1.Text+''')';
ClientDataSet1.Execute;
ClientDataSet1.Open;
Tblobfield(sysdata.ClientDataSet1.FieldByName('数据')).LoadFromFile(edit1.Text);
sysdata.ClientDataSet1.ApplyUpdates(0);
可运行时系统提示不能插入重复值
clientdataset1.CommandText:= 'insert into 法律法规表(名称,类型,密级) values('''+edit2.Text+''','''+edit3.Text+''','''+combobox1.Text+''')';
ClientDataSet1.Execute;
ClientDataSet1.Open;
//OPEN后重新找到那条你刚才插入的那条记录
ClientDataSet1.Edit;
Tblobfield(sysdata.ClientDataSet1.FieldByName('数据')).LoadFromFile(edit1.Text);
ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(0);