首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-05-30 
delphi连接access数据库报出“未指定的错误”fsearch窗口代码:if Fmain.adotable1.active thenbeginDataSour

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

热点排行