关于网友提出的“ delphi连接access数据库报出“未指定的错误””问题疑问,本网通过在网上对“ delphi连接access数据库报出“未指定的错误””有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: delphi连接access数据库报出“未指定的错误”
描述: fsearch窗口代码:
if Fmain.adotable1.active then
begin
DataSource1.DataSet:=QA;
QA.Close;
QA.connection:=Fmain.ADOConnection1;
QA.SQL.Clear;
QA.sql.add('select songno,songname,songer,language,songnum,diskname from '+Fmain.adotable1.tablename+' where '+where_str+' order by songno asc,songname asc');
QA.Active:=true;
dbgrid1.Columns[0].FieldName:='SONGNO';
dbgrid1.Columns[1].FieldName:='SONGNAME';
dbgrid1.Columns[2].FieldName:='SONGER';
dbgrid1.Columns[3].FieldName:='LANGUAGE';
dbgrid1.Columns[4].FieldName:='SONGNUM';
dbgrid1.Columns[5].FieldName:='DISKNAME';
if not QA.isempty then
L_note.caption:='找到'+inttostr(QA.RecordCount)+'条符合条件的数据';
end
fmain代码如下:
DataSource1.DataSet:=ADOTable1;
ADOConnection1.Connected:=false;
ADOConnection1.LoginPrompt:=false;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+tempstr+';';
ADOConnection1.Connected:=true;
ADOConnection1.GetTableNames(ComboBox1.Items);
ADOTable1.Connection:=ADOConnection1;
ADOTable1.TableName:=MDBForm.ComboBox1.Text;
ADOTable1.active:=true;
首先执行fmain的代码然后执行fsearch的代码,执行到QA.Active:=true;就报出未指定的错误
解决方案1: QA.sql.add('select songno,songname,songer,language,songnum,diskname from '+Fmain.adotable1.tablename+' where '+where_str+' order by songno asc,songname asc');
这个查询语句错了,where_str如何生成?其值是多少?
解决方案2: showmessage(QA.sql.text);
然后复制到access中新建一个查询,运行看看是否通过
解决方案3:Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=C:\Documents and Settings\Administrator\a.mdb;Persist Security Info=True
用ADO组件确定连接字符串是否确
其次QA.sql.Text的值SHOWMESSAGE看看有没有问题
以上介绍了“ delphi连接access数据库报出“未指定的错误””的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2204066.html