以下语句是为了得到表名:
SqlStr := 'select * from sysobjects where xtype=' + '''' + 'u' + '''' + ' and name like ' + '''' + 'hd%' + '''';m_Qry.Close;
m_Qry.Sql.Clear;
m_Qry.Sql.Add( SqlStr );
m_Qry.Open;
m_Qry.First;//可调用下面的语句,老是告诉我说没有name这个field。
m_Qry.FieldByName('name').AsString怎么可能呢?明明sysobjects表中有这个字段的。

解决方案 »

  1.   

    因为系统根据你的sql代码生成了临时表,表中不存在name字段,所以出错。
      

  2.   

    是你的引号的用法有问题的 你试试:
    SqlStr := 'select * from sysobjects where xtype=''' + 'u' + ''' + ' and name like ''' + 'hd%' + '''';
      

  3.   

    我语句没问题,取别的字段都没有问题,就是取不到name.
    大侠们快想想啊?