我在数据表中一个字段的数据类型为text。然后在程序中用TDBRicheEdit组件关联该字段。当我打开连接的表的时候,程序报错,错误信息如下:无效的授权说明。无法正常使用程序。请问该如何引用数据类型为text的字段?我可以写入。写入方法同一般的字符串没有什么区别,就是append;然后FieldByName('FieldName').asString:=文本;post;就成功了。但是要读取它并显示出来的时候就遇到了问题。是否还要设置一下显示组件的属性?

解决方案 »

  1.   

    我在tadotable中设置了 Connection属性。没想到运行的时候既然是空的。只好在代码中一个一个重新赋值。而且还有个问题,我设置了dbgrid的datasoure属性,相关联的datasoure组件的dataset属性也设置好了。在代码中打开相关联的tadotable组件。是打开了。查看active属性为ture。但是dbgrid却没有数据显示出来。我看了关联的tadotable组件,它有数据。就是不显示出来。只有在代码中使用代码:(DBGrid10.DataSource.DataSet As TADOTable).active:=True;后,才能显示出来。刚刚解决了这个问题没多久。就又出现打开的时候提示无效的授权说明。
      

  2.   

    属性关联设置好之后应该直接在delphi中就可以看到数据的。
      

  3.   

    我的设置:
    连接组件,各个属性在代码中动态设置
    ADOCSqlServer
    数据表:
    TComputerInfo.connection为ADOCSqlServer。
    数据源:
    DataSComputerInfo.DataSet为TComputerInfo
    数据显示:
    DBGrid1.dataSource为DataSComputerInfo。
    然后在窗体加载的时候使用TComputerInfo.open打开表。
    无法在dbgrid1中显示数据。只好在代码中加入
    (DBGrid1.DataSource.DataSet As TADOTable).Open;可以正常显示。
    以上是我今天之前的问题。程序运行正常。
    今天发现错误,(DBGrid1.DataSource.DataSet As TADOTable).Open后,报错:无效的授权说明。
    只好在(DBGrid1.DataSource.DataSet As TADOTable).Open之前加上:
    (DBGrid1.DataSource.DataSet As TADOTable).connection:=ADOCSqlServer;.
    问题得到了解决。
    不知道这上delphi的错误还是ado的错误或者两个都是。