说明:我的ACCESS表里有ID、Memo两个字段,分别是整数和备注字段。
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('INSERT INTO Game3 VALUES(:ID,:Memo)');
ADOQuery.Parameters.ParamValues['ID'] := ID;
ADOQuery.Parameters.ParamByName('Memo').Value := theMemo.Text;
ADOQuery.ExecSQL;
======================================
以上这段代码,在我的机器上运行正常(DELPHI7+OFFICE XP),但在一些网友的机器上却出现“[ODBC Microsoft Access Driver]非法的精确度数值”这样的错误。让我不知所措,请高手指教一种不会出错的MEMO字段读写方法,谢谢!
ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add('INSERT INTO Game3 VALUES(:ID,:Memo)');
ADOQuery.Parameters.ParamValues['ID'] := ID;
ADOQuery.Parameters.ParamByName('Memo').Value := theMemo.Text;
ADOQuery.ExecSQL;
======================================
以上这段代码,在我的机器上运行正常(DELPHI7+OFFICE XP),但在一些网友的机器上却出现“[ODBC Microsoft Access Driver]非法的精确度数值”这样的错误。让我不知所措,请高手指教一种不会出错的MEMO字段读写方法,谢谢!
adotabel1.open;
adotabel1.appendrecord([ID,theMemo.Text]);
把这句改为 ADOQuery.Parameters.ParamByName('Memo').asstring:= theMemo.Text;
试,我一直是这样用的,没有错过
ParamByName根本就没有AsString方法 5555555555555
检测一下上面这句是不是长度超过255后发生的错误?
把这句改为 ADOQuery.Parameters.ParamByName('Memo').asstring:= theMemo.Text;
很对啊!