读书人

delphi连接access数据库报出“未指定的

发布时间: 2012-05-30 20:20:04 作者: rapoo

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;就报出未指定的错误

[解决办法]

SQL code
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中新建一个查询,运行看看是否通过

读书人网 >.NET

热点推荐