I'm using the following code to insert value in the Excel file:
我正在使用以下代码在Excel文件中插入值:
sAppend:='INSERT INTO ["Excel 8.0;Database=' + Edit1.Text + ';"].[Sheet1$] (d) ' + FormatDateTime('d/m/yyyy', now)+';';
AdoQuery1.SQL.Text:=sAppend;
AdoQuery1.ExecSQL;
Previous routine is completely shown.
完全显示了以前的例程。
Connection to the Excel file
连接到Excel文件
procedure TForm1.ConnectToExcel;
var strConn : widestring;
begin
strConn:='Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + Edit1.Text + ';' +
'Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";Persist Security Info=False';
AdoConnection1.Connected:=False;
AdoConnection1.ConnectionString:=strConn;
try
AdoConnection1.Open;
AdoConnection1.GetTableNames(ComboBox1.Items,True);
except
ShowMessage('Unable to connect to Excel, make sure the workbook ' + Edit1.Text + 'exist!');
raise;
end;
end;(*ConnectToExcel*)
procedure TForm1.FetchData;
begin
StatusBar1.SimpleText:='';
if not AdoConnection1.Connected then ConnectToExcel;
AdoQuery1.Close;
AdoQuery1.SQL.Text:=Edit2.Text;
try
AdoQuery1.Open;
except
ShowMessage('Unable to read data from Excel, make sure the query ' + Edit1.Text + ' is meaningful!');
raise;
end;
end;
Can anyone tell me what am I doing wrong ?
谁能告诉我我做错了什么?
Error is "Syntax error in INSERT INTO statement".
错误是“INSERT INTO语句中的语法错误”。
1 个解决方案
#1
1
Found solution:
找到解决方案
sAppend:='INSERT INTO [Sheet1$] (d) values ("' + DateToStr(now) +'")';
AdoQuery1.SQL.Text:=sAppend;
AdoQuery1.ExecSQL;
#1
1
Found solution:
找到解决方案
sAppend:='INSERT INTO [Sheet1$] (d) values ("' + DateToStr(now) +'")';
AdoQuery1.SQL.Text:=sAppend;
AdoQuery1.ExecSQL;