用ADO往MYSQL中插入图片的问题(100)

W

wanpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADO往MYSQL的BLOB字段中插入图片,大一点的图片都不能插入或者插入之后也是错误的。我插入1K的图片就没问题,插入6K的就不行。可是我插入65K的文本都没问题。我的MY.ini中这样设置的:[client]port = 3306[mysql]default-character-set = gbk[mysqld]port = 3306basedir= "D:/mysql"datadir= "D:/mysql/Data"default-character-set = gbkdefault-storage-engine = INNODBmax_connections = 100max_allowed_packet = 16M程序应该是没问题的,因为用Access数据库就没问题,如下: Qry.Close; Qry.SQL.Text := 'Insert into MyTable (Data) values:)Data)'; with Qry.Parameters do begin MemoryStream.Position := 0; ParamByName('MatData').LoadFromStream(MemoryStream.Position , ftBlob) end; Qry.ExecSQL;请高手指点!
 
有报什么错误吗?或者看看是不是有什么规律。
 
也不报错误,就是图片变成黑的了
 
用tblobfield(qry.fieldbyname('bmp')).loadfromfile('filename.bmp')试试看,我向数据库插入过几个G的数据,没发现过问题啊
 
MemoryStream是LoadFrom图片吗?如果是,把MemoryStream转为16进制的字符串,然后'Insert into MyTable (Data) values(0x'+16进制的字符串+')'
 
我已经解决问题了,是数据集问题,我原来用的gbk,utf-8,都不行,改成Gb2312就行了虽然不明白怎么回事不过也发分了有大虾能解释下数据集的问题,我可以另给分,不胜感激!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
704
import
I
I
回复
0
查看
408
import
I
I
回复
0
查看
614
import
I
顶部