数据库的问题 (200分)

  • 主题发起人 主题发起人 笨猪
  • 开始时间 开始时间

笨猪

Unregistered / Unconfirmed
GUEST, unregistred user!
问题1:我的主窗体的windowstate属性设置成wsMaximized,开发的时候是在800*600分辨率
下开发的,(在主窗体上有11项的菜单选项)运行时一切正常,可当我将分辨率改为640*480时
,那菜单竟然变成两行显示了,怎么办?
2:我的数据库里必须有员工图片,数据库采用paradox7,当我新建了表后,我用
database desktop打开,想进行资料录入时,该怎样录入该图片?在程序中,
我想新增资料,又怎样用语句将图片资料保存到数据库中?
使用query将数据在dbgrid中显示出来,然后我在dbgrid里修改数据,然后调用query.post
来保存数据,这样的保存和使用SQL语句的保存有什么不同????????
 
为什么要改成 640*480?
我觉得这个分辩率(800X600)设置不过分。
如果非改不可,你得重新考虑界在。
 
1、这个是没有办法的,不过800*600是普通设置,不过分,可以要求用户800*600,否则就要从新开发
2、使用database desktop是无法录入图片的,使用DBGrid也一样。
使用SQL语句可以将图片存入数据库,使用Table也可以,反正只要你选好图片就可以了
使用Query
with query do begin
close; sql.clear;
sql.add('insert into table1(picfield) values(:)');
params[0].loadfromfile('c:/1.jpg',ftblob);
try execsql except end;
end;
使用table
with table1 do begin
append;
tblobfield(fields).loadfromfile('c:/1.jpg');
...
try post except cancel end;
end;
 
2:在DeskTop中是不可能了。
程序中用 TBlobField(Table1.FieldByName('aaa')).LoadFromFile方法。
 
1。菜单项目过多造成的
2。说起来太麻烦,我有原文件
 
Twos说的方法可用于任何文件,不只是图片。
 
我觉得主菜单没有必要这么细吧,应该精简一下主菜单的分类:)
其他同twos
 
2.资料录入的时候,自己编一个小工具,image字段就用DBImage来表示,
选取图片用DBImage1.Picture.LoadFromFile(......)就可以了,很直观的
 
tblobfield(fields).loadfromfile('文件');
 
后退
顶部