sql中用什么格式存取ole 数据
解决方案 »
- delphi 不让用户修改系统时间
- DBGrid组件单元格为什么不能编辑
- 为什么Button1.FieldAddress('Name')总返回nil?
- TDBEdit和TDBComboBox最近的基类是什么?
- 菜鸟问题!
- 如何得到当前产生事件组件的指针?(不用找焦点的方法)
- 为什么单元不能调用?
- 谁能说说IDUdpServer的BINDING,BINDINGS的含义?
- 报表打印出现1899-12-30!!!!请帮我一把。
- 各位大虾:请问bde是不是自动地,每隔一段时间备份一次数据表
- 为什么我在2000下编译的程序在98下运行窗体的控体大小不一样?
- 救命!!!我公司的服务器快死了,,,万分火急!20分全给,一点不留。
Delphi环境下的BLOB使用 实现文字材料的数据库管理时,经常会遇到特殊字符的输入和显示问题,如在档案管理中,档案文件名中经常会出现类似于 C3I 这样的上下标形式或其它特殊形式和字符,虽然特殊字符部分可以在编辑控件中显示或浏览,但大多数格式字符如上下标、根号等的显示是不允许的,因此可以利用BLOB字段解决特殊字符输入和显示问题。下面以PARADOX数据库环境为例简单介绍在Delphi环境下的BLOB使用方法。 首先考虑到BLOB字段的性质是不可能直接进行显示的,即不能用类型转化之类的方法,但作为数据集字段可以调用诸如LOADFROMFILE或SAVETOFILE之类的函数,这与OLE控件的方法完全类似,因此可以在原文件表中建立一个新的字段,其类型为BLOB,并为此字段生成一个显示的全局变量。 (1)录入 首先完成OLE控件的编辑工作,按下录入按钮后将其内容保存到当前记录的NEW字段中,由于目前是处理编辑状态,所以标识当前字段的批示符为“I”。其实现方法是先利用SaveToFile将OLE控件中内容保存在临时文件TEMPOLE.NNN中,再将此文件内容调入到表中的NEW字段中(即BLOB字段),在调入前必须保证表处理为可编辑状态。 procedure TForm1.Button1Click(Sender: TObject); //录入按钮的响应事件 begin ole1.SaveToFile('tempole.nnn'); //保存OLE控件中内容到临时文件中 table1.edit; //设置表的编辑状态 table1new.LoadFromFile('tempole.nnn'); //调整表中NEW字段的内容为临时文件的内容 DBGrid1.Fields[5].AsString:='1'; //调整表中特殊标志字段的内容为1 end; (2)显示 下面的事件处理是将当前记录的NEW字段内容读出到OLE控件中,以便用户查看。按下显示按钮的作用就是将当前记录对应的特殊文件名在下面的OLE控件中进行显示。 procedure TForm1.Button2Click(Sender: TObject); begin if DBGrid1.Fields[5].AsString='1' then //若含特殊字符 begin table1new.SaveToFile('tempole.nnn'); //将表NEW字段的内容保存为临时文件 ole1.LoadFromFile('tempole.nnn'); //将OLE控件的内容调整为临时文件内容 end; end;