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;就报出未指定的错误
[解决办法]
Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=C:\Documents and Settings\Administrator\a.mdb;Persist Security Info=True
[解决办法]
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如何生成?其值是多少?
[解决办法]
showmessage(QA.sql.text);
然后复制到access中新建一个查询,运行看看是否通过