我使用select tableA.columnB from tableA 的SQL语句进行查询
然后把结果集Fill到DataSet里面
调用的时候使用dts.Table["tableA"].Rows[0]["tableA.columnB"]的时候报告说列不存在,
只有使用      dts.Table["tableA"].Rows[0]["columnB"]的时候才可以。
我现在因为项目需要必须要在DATASET中带上表名来引用这个列,应该怎么处理呢?
PS:不采用select columnB As tableA.columnB from tableA 这样的处理方法

解决方案 »

  1.   

    基本上没办法
    我想只有这样了:select columnB As tableA.columnB from tableA
      

  2.   

    我现在因为项目需要必须要在DATASET中带上表名来引用这个列,应该怎么处理呢?
    这个好像没有必须的必要性吧?换种思路考虑一下,如果名字从别的地方得来,俄可以自己转换一下。另外,用索引而不是用名称来引用数据更快。
      

  3.   

    try——把DataTable里的列名给改了dts.Table["tableA"].Columns["columnB"].ColumnName = "tableA.columnB";
      

  4.   

    看了楼上几位的回复,我再解释一下这个情况:
    我的表名和列名都是通过读取对象的属性来获得的,本来我的对象中的列名是正常的,但现在因为要同时支持ACCESS数据库,而ACCESS中使用left jion 之类的SQL语句时字段名是必须要带上表名的。
    于是我直接修改相关对象的字段名,在前面都加了对应的表名。本来以为这样就可以了。但没想到在DATASET中会出现这个问题。
    所以楼上几位的方法似乎都不是很合用
      

  5.   

    三种方法:
     1。用as在sql里转换名称XX
     2。用索引
     3。建立视图
    就这些办法可作,这些也都是楼上……回答过的!
    觉得没什么好办法了
    我也在代码过程中遇到过!!