delphi 中操作ACCESS数据库 插入数据库 为嘛总提示INSERT INTO 语法错误啊 哪位老师帮忙看看啊 谢谢啦!
procedureTForm5.SaveToDB(EList:TStrings;AList:TStrings;BList:TStrings;CList:TStrings;...
procedure TForm5.SaveToDB(EList:TStrings ;AList: TStrings;BList: TStrings;CList: TStrings ; DList: TStrings);
var
i: Integer;
SQLText,sCount: String;
begin {$I-}
ADOConnection1.Connected := True;
sCount := IntToStr(EList.Count - 1);
for i := 0 to EList.Count - 1 do begin
//SQLText := 'INSERT INTO pdf (拓展名,文件名,文件大小,创建日期,文件路径) VALUES ('''+EList[i]+''',''' + AList[i] + ''',''' + BList[i] + ''',''' +CList[i] + ''',''' +DList[i] + ''')';
with ADOQuery1 do begin
SQLText := 'INSERT INTO pdf (拓展名,文件名,文件大小(mb),创建日期,文件路径) VALUES ( :e, :a, :b, :c, :d)';
SQL.Text := SQLText;
Parameters.ParamByName('e').Value:= EList[i];
Parameters.ParamByName('a').Value:= AList[i];
Parameters.ParamByName('b').Value:= BList[i];
Parameters.ParamByName('c').Value:= CList[i];
Parameters.ParamByName('d').Value:= DList[i];
ExecSQL;
end;
end;
end; 展开
var
i: Integer;
SQLText,sCount: String;
begin {$I-}
ADOConnection1.Connected := True;
sCount := IntToStr(EList.Count - 1);
for i := 0 to EList.Count - 1 do begin
//SQLText := 'INSERT INTO pdf (拓展名,文件名,文件大小,创建日期,文件路径) VALUES ('''+EList[i]+''',''' + AList[i] + ''',''' + BList[i] + ''',''' +CList[i] + ''',''' +DList[i] + ''')';
with ADOQuery1 do begin
SQLText := 'INSERT INTO pdf (拓展名,文件名,文件大小(mb),创建日期,文件路径) VALUES ( :e, :a, :b, :c, :d)';
SQL.Text := SQLText;
Parameters.ParamByName('e').Value:= EList[i];
Parameters.ParamByName('a').Value:= AList[i];
Parameters.ParamByName('b').Value:= BList[i];
Parameters.ParamByName('c').Value:= CList[i];
Parameters.ParamByName('d').Value:= DList[i];
ExecSQL;
end;
end;
end; 展开
展开全部
1.首先将SQLText := 'INSERT INTO pdf (拓展名,文件名,文件大小(mb),创建日期,文件路径) VALUES ( :e, :a, :b, :c, :d)';中的(mb)去掉试试看。
2.Parameters.ParamByName('b').Value:= BList[i];中的Value改为AsString,或者将BList[i]转换成数值类型,如Number、Float //此参数表示文件大小,应该是数值,不能直接跟BList[i]转换,Parameters.ParamByName('b').AsString表示字符串值。
3.如果创建日期为日期类型,将Parameters.ParamByName('c').Value:= CList[i];中的Value改为AsString,或者将CList[i]转换成日期类型。
若还有问题,请Hi我~
2.Parameters.ParamByName('b').Value:= BList[i];中的Value改为AsString,或者将BList[i]转换成数值类型,如Number、Float //此参数表示文件大小,应该是数值,不能直接跟BList[i]转换,Parameters.ParamByName('b').AsString表示字符串值。
3.如果创建日期为日期类型,将Parameters.ParamByName('c').Value:= CList[i];中的Value改为AsString,或者将CList[i]转换成日期类型。
若还有问题,请Hi我~
展开全部
号?
with adoquery1 do
begin
close;//这点很重要需要先关闭对应表
sql.clear;
sql.add('insert into user1(uers,password) values(:a,:b)');
parameters.parambyname('a').value:=jsh;
parameters.paramebyname('b').value:=mm;
execsql;
update;//或者你用close;open;
end;
那你就只写成sql.add('insert into user1 values(:a,:b)');实验下
with adoquery1 do
begin
close;//这点很重要需要先关闭对应表
sql.clear;
sql.add('insert into user1(uers,password) values(:a,:b)');
parameters.parambyname('a').value:=jsh;
parameters.paramebyname('b').value:=mm;
execsql;
update;//或者你用close;open;
end;
那你就只写成sql.add('insert into user1 values(:a,:b)');实验下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询