我有一段SQL语句,要写入到一个Delphi事件里去,可是最后一句SQL太复杂而且太长了,我不管怎么写都出错,
不知道大家高见如何,急用,拜托各位了啊! 谢谢谢谢谢
SQL语句如下:
insert into rs_kaoqin
select 编号 as 编号,姓名 as 姓名,分部 as 分部,日期 as 日期,早班 as 早班,
中班 as 中班,晚班 as 晚班,夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,
迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,早退次 as 早退次,
早退分 as 早退分,缺勤 as 缺勤,请假 as 请假,旷工 as 旷工,一般加 as 一般加,
双休加 as 双休加,节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,
节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,定额 as 定额,出勤 as 出勤,
备注 as 备注
from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\1.xls";User ID=;Password=;Extended properties=Excel 8.0')...[kaoqin$] 然后我的Delphi语句是这样:
'+t2+','+t3+';'+t4+';'+t5+';'+t6+';
t2:='Microsoft.Jet.OLEDB.4.0'
t3:='Data Source="d:\1.xls"';
t4:='User ID=';
t5:='Password=';
t6:='Extended properties=Excel 8.0';
adoquery1.Close;
adoquery1.SQL.Clear;
//adoquery1.SQL.Add('');
adoquery1.SQL.Add('insert into rs_kaoqin');
adoquery1.SQL.Add('select 编号 as 编号,姓名 as 姓名,分部 as 分部,');
adoquery1.SQL.Add('日期 as 日期,早班 as 早班,中班 as 中班,晚班 as 晚班,');
adoquery1.SQL.Add('夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,');
adoquery1.SQL.Add('迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,');
adoquery1.SQL.Add('早退次 as 早退次,早退分 as 早退分,缺勤 as 缺勤,');
adoquery1.SQL.Add('请假 as 请假,旷工 as 旷工,一般加 as 一般加,双休加 as 双休加,');
adoquery1.SQL.Add('节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,');
adoquery1.SQL.Add('节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,');
adoquery1.SQL.Add('定额 as 定额,出勤 as 出勤,备注 as 备注');
adoquery1.SQL.Add('from OpenDataSource(''+t2+','+t3+';'+t4+';'+t5+';'+t6+'')...[kaoqin$]');
adoquery1.ExecSQL;
改写n次,死活都错,实在不懂了,请教了!
不知道大家高见如何,急用,拜托各位了啊! 谢谢谢谢谢
SQL语句如下:
insert into rs_kaoqin
select 编号 as 编号,姓名 as 姓名,分部 as 分部,日期 as 日期,早班 as 早班,
中班 as 中班,晚班 as 晚班,夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,
迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,早退次 as 早退次,
早退分 as 早退分,缺勤 as 缺勤,请假 as 请假,旷工 as 旷工,一般加 as 一般加,
双休加 as 双休加,节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,
节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,定额 as 定额,出勤 as 出勤,
备注 as 备注
from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\1.xls";User ID=;Password=;Extended properties=Excel 8.0')...[kaoqin$] 然后我的Delphi语句是这样:
'+t2+','+t3+';'+t4+';'+t5+';'+t6+';
t2:='Microsoft.Jet.OLEDB.4.0'
t3:='Data Source="d:\1.xls"';
t4:='User ID=';
t5:='Password=';
t6:='Extended properties=Excel 8.0';
adoquery1.Close;
adoquery1.SQL.Clear;
//adoquery1.SQL.Add('');
adoquery1.SQL.Add('insert into rs_kaoqin');
adoquery1.SQL.Add('select 编号 as 编号,姓名 as 姓名,分部 as 分部,');
adoquery1.SQL.Add('日期 as 日期,早班 as 早班,中班 as 中班,晚班 as 晚班,');
adoquery1.SQL.Add('夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,');
adoquery1.SQL.Add('迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,');
adoquery1.SQL.Add('早退次 as 早退次,早退分 as 早退分,缺勤 as 缺勤,');
adoquery1.SQL.Add('请假 as 请假,旷工 as 旷工,一般加 as 一般加,双休加 as 双休加,');
adoquery1.SQL.Add('节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,');
adoquery1.SQL.Add('节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,');
adoquery1.SQL.Add('定额 as 定额,出勤 as 出勤,备注 as 备注');
adoquery1.SQL.Add('from OpenDataSource(''+t2+','+t3+';'+t4+';'+t5+';'+t6+'')...[kaoqin$]');
adoquery1.ExecSQL;
改写n次,死活都错,实在不懂了,请教了!
'+t2+','+t3+';'+t4+';'+t5+';'+t6+';
t2:='Microsoft.Jet.OLEDB.4.0'
中间的
'+t2+','+t3+';'+t4+';'+t5+';'+t6+'; 不要,是忘了删了
'[Microsoft][ODBC Excel Driver] FROM 子句语法错误。'.Process stopped.
Use Step or Run to contiue .谢谢关心了,不管我怎么改写最后那一句都是这个错误信息,郁闷。
adoquery1.SQL.Clear;
//adoquery1.SQL.Add('');
adoquery1.SQL.Add('insert into rs_kaoqin');
adoquery1.SQL.Add('select 编号 as 编号,姓名 as 姓名,分部 as 分部,');
adoquery1.SQL.Add('日期 as 日期,早班 as 早班,中班 as 中班,晚班 as 晚班,');
adoquery1.SQL.Add('夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,');
adoquery1.SQL.Add('迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,');
adoquery1.SQL.Add('早退次 as 早退次,早退分 as 早退分,缺勤 as 缺勤,');
adoquery1.SQL.Add('请假 as 请假,旷工 as 旷工,一般加 as 一般加,双休加 as 双休加,');
adoquery1.SQL.Add('节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,');
adoquery1.SQL.Add('节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,');
adoquery1.SQL.Add('定额 as 定额,出勤 as 出勤,备注 as 备注');
adoquery1.SQL.Add('from OpenDataSource(''+t2+','+t3+';'+t4+';'+t5+';'+t6+'')...[kaoqin$]');
adoquery1.ExecSQL;
嗯,要不,大家说说这句话怎么加到delphi里面去阿?
from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="d:\1.xls";User ID=;Password=;Extended properties=Excel 8.0')...[kaoqin$]
select 编号 as 编号,姓名 as 姓名,分部 as 分部,日期 as 日期,早班 as 早班,
中班 as 中班,晚班 as 晚班,夜班 as 夜班,上班 as 上班,迟到I次 as 迟到I次,
迟到I分 as 迟到I分,迟到II次 as 迟到II次,迟到II分 as 迟到II分,早退次 as 早退次,
早退分 as 早退分,缺勤 as 缺勤,请假 as 请假,旷工 as 旷工,一般加 as 一般加,
双休加 as 双休加,节日加 as 节日加,加班 as 加班,申请补休 as 申请补休,
节假工时 as 节假工时,漏打 as 漏打,补贴 as 补贴,定额 as 定额,出勤 as 出勤,
备注 as 备注
from OpenDataSource('Microsoft.Jet.OLEDB.4.0'+#39+','+#39+'Data Source="d:\1.xls";User ID=;Password=;Extended properties=Excel 8.0'+#39+')...[kaoqin$]';
adoquery1.ExecSQL;
[Error] Unit1.pas(79): Unterminated string
[Error] Unit1.pas(80): Missing operator or semicolon
[Error] Unit1.pas(80): Illegal character in input file: '编' ($B1E0)
[Error] Unit1.pas(80): Illegal character in input file: '姓' ($D0D5)
[Error] Unit1.pas(80): Illegal character in input file: '分' ($B7D6)
[Error] Unit1.pas(80): Illegal character in input file: '日' ($C8D5)
............还是晕...
adoquery1.SQL.Add('FROM OpenDataSource(''MICROSOFT.JET.OLEDB.4.0''',''Excel 8.0;User ID=;Password=;DATABASE="d:\1.xls"'')...[kaoqin$]');如果这样的话,它会报错,说:
Build
[Error] Unit1.pas(89): Too many actual parameters
[Error] Unit1.pas(89): Statement expected, but expression of type 'Extended' found
[Error] Unit1.pas(89): ':=' expected but '=' found
[Error] Unit1.pas(89): ':=' expected but '=' found
[Error] Unit1.pas(89): Missing operator or semicolon
[Error] Unit1.pas(89): Unterminated string
[Error] Unit1.pas(90): Unterminated string
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'何解呢?....惭愧的说...我还不明白错了什么....