delphi – 如何在名称中包含冒号的表上运行查询?
发布时间:2020-12-15 04:00:44 所属栏目:大数据 来源:网络整理
导读:我正在从.mdb文件(MSAccess 2000格式)中读取数据.有些桌子的名字中有冒号.当我尝试在这些表上打开查询时,我收到异常: EOleException with message 'Parameter object is improperly defined. Inconsistent or incomplete information was provided'. 这是我
我正在从.mdb文件(MSAccess 2000格式)中读取数据.有些桌子的名字中有冒号.当我尝试在这些表上打开查询时,我收到异常:
EOleException with message 'Parameter object is improperly defined. Inconsistent or incomplete information was provided'. 这是我的代码: procedure TForm1.Button1Click(Sender: TObject); var Query: TADOQuery; begin Query := TADOQuery.Create(nil); Query.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=DB.mdb;Persist Security Info=False'; Query.SQL.Text := 'select * from [Table1:1]'; try Query.Open; finally Query.Free; end; end; 解决方法
TQuery将解释:
if
ParamCheck = true .
设置ParamCheck:= false然后设置SQL.Text. procedure TForm1.Button1Click(Sender: TObject); var Query: TADOQuery; begin Query := TADOQuery.Create(nil); Query.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+ 'Data Source=DB.mdb;Persist Security Info=False'; Query.ParamCheck:= false; Query.SQL.Text := 'select * from [Table1:1]'; try Query.Open; finally Query.Free; end; end; 现在它有效. 结合克隆的表/列名称和参数 见:http://docwiki.embarcadero.com/CodeExamples/Seattle/en/FireDAC.TFDQuery.Macros_Sample (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |