我遇到过这样问题,请来看看,
adotable1.append;
adotable1.fieldbyname('name').asstring:='edit.text';
adotable1.fieldbyname('date').asdatetime:='DateTimePicker1.Date';
adotable1.post;
我是通过ADO再通过ODBC连接MYSQL的。
当运行时出现:insert into test values('dss','20031221')出错。他的意思就是把2003-12-21日期通过delphi变成了20031221 这样mysql就不认识了。
但是我通过BDE再通过ODBC连接就可以。但是我都是用ado做的。不想用BDE。
所以我想问问大家。我要怎么办法呢。是升级MYSQL的驱动程序还是。有什么其他方法呢。谁用过MYSQL+DELPHI。请帮帮我啊
adotable1.append;
adotable1.fieldbyname('name').asstring:='edit.text';
adotable1.fieldbyname('date').asdatetime:='DateTimePicker1.Date';
adotable1.post;
我是通过ADO再通过ODBC连接MYSQL的。
当运行时出现:insert into test values('dss','20031221')出错。他的意思就是把2003-12-21日期通过delphi变成了20031221 这样mysql就不认识了。
但是我通过BDE再通过ODBC连接就可以。但是我都是用ado做的。不想用BDE。
所以我想问问大家。我要怎么办法呢。是升级MYSQL的驱动程序还是。有什么其他方法呢。谁用过MYSQL+DELPHI。请帮帮我啊
FormatDateTime('yyyy-mm-dd hh:mm:ss',DateTimePicker1.DateTime)
然后再插入。
改成
adotable1.fieldbyname('date').value:=DateTimePicker1.Date
加引号干什么?'20031221'当然不是SQL语法中的目期类型。当然不行。
而且我用adotable1.delete 也出错。只要字段有时间,错误:20031212 ,总之是时间错误。
我要最新的MYSQL 最新的驱动哦啊
环境是:我通过ADOConnection 再通过ODBC连接MYSQL。如果通过BDE 再通过ODBC连接,下面的没有问题。
adotable1.append;
adotable1.fieldbyname('cc_name').asstring:=edit1.text;
adotable1.post;
这样也出错。我开始还以为只是时间问题呢。
保存图片
if Assigned(Image1.Picture.Graphic) then
begin
myjpeg:=tjpegimage.Create; //保存图形文件
myjpeg.Assign(image1.Picture.Graphic);
ms:=tmemorystream.Create;
myjpeg.SaveToStream(ms);
ms.Position:=0;
TBlobField(Table1.FieldbyName('b')).LoadFromStream(MS);
myjpeg.Free;
ms.Free;
end;
也出错。如果不是图形我还可以辛苦一下通过 “insert into base_table valuse(edit1.text,......)”这样。但是图形呢。怎么能通过insert into ...这样呢。
我又不想通过BDE来连接。高手救命啊。马上给分
试一下
adotable1.append;
adotable1.fieldbyname('cc_name').value:=trim(edit1.text);
adotable1.post;
----------------------------------------------你这句出错提示已经错啦,试试:insert into test ('cc_name') values ('dss')
还要注意其它值允不允许插入空值啊
加引号干什么?'20031221'当然不是SQL语法中的目期类型。当然不行。