在vb.net中查询有问题

时间:2012-07-20 15:53:00

标签: sql-server vb.net

我收到一条错误消息,指出列不属于表格。以下是我的查询,非常简单。

query = " SELECT A.COLUMN "
        " FROM TABLE_1 A, TABLE_2 B"
        " WHERE A.COLUMN = B.COLUMN "

为了简单起见,我将它放入数据集中并执行for循环,它工作正常。顺便说一下在管理工作室测试查询,一切正常。

这就是问题所在:

dim new_val as string

new_val = row("A.COLUMN") 'ERROR

注意:当我将查询更改为:

SELECT A.COLUMN **AS COLUMN1** 

然后:

new_val = row("COLUMN1") it works.

有谁知道这个的原因??还忘了注意,有些列的名称与我使用A.COLUMN的名称相同。

2 个答案:

答案 0 :(得分:2)

只需使用:

new_val = row("COLUMN") 

没有理由在引用中使用表后缀,只有列名。

此外,您真的应该重新编写查询以使用INNER JOINS:

query = " SELECT A.COLUMN "
    " FROM TABLE_1 A INNER JOIN TABLE_2 B ON A.COLUMN = B.COLUMN "

答案 1 :(得分:-1)

我建议您在有问题的行中设置断点,并在快速监视窗口中检查列的名称。在这种情况下,您将能够确定列名称,从而调整代码。