4
我德尔福7+ SQL Server上的工作不兼容2008 + ADO传递BLOB作为参数会导致错误:操作数类型冲突:图像与文本
我有4场
emp_id integer
Name varchar(50)
designation varchar(10)
comment text
我的表想从德尔福
with qryAdoEmployee do
try
if not prepared then Prepared := True;
Parameters.ParamByName('emp_id').Value := 12345;
Parameters.ParamByName('Name').Value := 'NAME';
Parameters.ParamByName('designation').Value := 'NEWDesig' ;
插入数据,所以我尝试了下面的代码中插入数据线为型评论 ftBlob
parameters.ParamByName('comment').Assign(Memo1.Lines);
用的代码是插入数据到数据库中,但它是如此花一些时间对谷歌之后插入错误数据像"???5?????????????????????????"
上述行置换上面的代码行用
Len := Length(Memo1.Lines.Text);
Stream := TMemoryStream.Create;
Stream.Write(Len, SizeOf(Len));
Stream.Write(PChar(Memo1.Lines.Text)^, Len);
parameters.ParamByName('comment').LoadFromStream(Stream,ftBlob);
上面一段代码出错操作数类型冲突:图像与文本不兼容
ExecSQL;
except on E:EDatabaseError do
MessageDlg(E.Message, mtError, [mbOK], 0);
end;
只需设置参数Value = Memo1.Text – kobik
@kobik:我试过了,它也给出了相同的错误操作数类型冲突:图像与文本不兼容。 – DelphiLearner
此行是否正确 - parameters.ParamByName('comment')。LoadFromStream(Stream,ftBlob); ?因为你的字段名是评论文字 – RBA