以下语句在我用SQL数据库时能正常运行,但转到Access时提示错误:“Insert Into 语法错误”。请问是为何?注明:Book2不存在。
ADOQuery1.SQL.Text:='Insert Into BOOK2(Name,Money) Values(:Name,:Money)';
ADOQuery1.Parameters.ParamByName('Name').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Name').Value:=StrToFloat(Edit2.Text);
ADOQuery1.ExecSQL; //错误提示在此;
ADOQuery1.SQL.Text:='Insert Into BOOK2(Name,Money) Values(:Name,:Money)';
ADOQuery1.Parameters.ParamByName('Name').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Name').Value:=StrToFloat(Edit2.Text);
ADOQuery1.ExecSQL; //错误提示在此;
解决方案 »
- qryRKMXB:Dataset not in edit or insert mode
- 迷茫的年代,迷茫的人生
- 如何在listview中加入progressbar?
- 请教这个登录代码如何写
- 关于连接数据库不能捕获连接异常的问题?
- 请问两个API函数(100分。。。。。。。少了还可多给)
- 求助:怎么把主程序的COM+接口变量传入DLL中
- 送40分
- 请各位大侠瞧瞧,这么调用DLL为什么不行?(原贴在C/C++)
- 请教:在TDBGrid控件中,对Colums editor进行编辑,为什么点右键后,add all field是灰的,不让点。如果field多的话,一个一个加不是太麻烦了吗?
- 作报表汇总里遇到的奇怪问题,请高手指点
- 用idUDPServer控件接收数据,如何得到数据包的源IP地址和端口?
ADOQuery1.Parameters.ParamByName('Money').Value:=StrToFloat(Edit2.Text);
看看你的字段的数据类型有没有问题?
ADOQuery1.Parameters.ParamByName('Name').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Money').Value:=StrToFloat(Edit2.Text);
ADOQuery1.ExecSQL;
ADOQuery1.Parameters.ParamByName('BookName').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Money').Value:=StrToFloat(Edit2.Text);
ADOQuery1.ExecSQL; //错误提示在此;
看看连接对不对
ADOQuery1.Connection:=.....
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.SQL.Text:='Insert Into BOOK2(BookName,Money) Values(:Name,:Money)';
ADOQuery1.Parameters.ParamByName('BookName').Value:=Edit1.Text;
ADOQuery1.Parameters.ParamByName('Money').Value:=StrToFloat(Edit2.Text);
//和ADOQuery1.Parameters.ParamByName('Money').Value:=Edit2.Text;没有区别
ADOQuery1.ExecSQL;
f:=StrToFloat(Edit2.Text);
ADOQuery1.SQL.Text:='Insert Into BOOK2(BookName,Money) Values(s,f)';
ADOQuery1.ExecSQL;
begin
Connection := FrmDm.AdoStandard;
Close;
Sql.Clear;
Sql.Add('...');
Prepared;
Open;
Last;
Edit;
FieldByName('Photo').AsString := BlobContentToString(TmpPhotoFileName);
Post;
end;
一个例子,可以参考一下.
或者用SQL就可以拉
Name:String;
Money:Float;
begin
Name:=Edit1.Text;
Money:=StrToFloat(Edit2.Text);
ADOQuery1.SQL.Text:='Insert Into BOOK2(BookName,Money) Values('+''''+Name+''''+','+''''+Money+''')';
ADOQuery1.ExecSQL;
end;
__________
/ \
| |
ADOQuery1.SQL.Text:='Insert Into BOOK2(BookName,Money) Values(:Name,:Money)';|
ADOQuery1.Parameters.ParamByName('BookName').Value:=Edit1.Text; |
ADOQuery1.Parameters.ParamByName('Money').Value:=StrToFloat(Edit2.Text); |
ADOQuery1.ExecSQL; /
越看越糊涂,这个参数好象没有赋值<---