如果我们不知道column_names VB.net,我们如何处理`SELECT`语句?

时间:2012-11-02 14:45:05

标签: vb.net

如果我们不知道column_names

,我们如何处理SELECT语句

如果我有以下查询,我的经验很少

 SELECT * FROM emp 

我愿意

    While sqlReader.Read()
        Dim name as string = sqlReader.Item("emp_name")
    End While

问题

但如果我不知道我得到的数字和列名称怎么办? 是否有任何处理此的方法 一种方法,告诉我们选择了x个列并且名称为

然后将其作为字符串列表返回,我不知道这是否重要,但我这样做是作为一个Web服务

3 个答案:

答案 0 :(得分:3)

您可以使用FieldCount的{​​{1}}属性来获取字段数。然后,您可以使用System.Data.SqlClient.SqlDataReader属性来获取字段名称。

GetName

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx

答案 1 :(得分:2)

SqlDataReader类具有FieldCount属性,可以告诉您有多少列,以及GetName方法告诉您他们的名字。

答案 2 :(得分:1)

如果您使用的是Sql Server,则可以查询sys.columns视图。

SELECT name FROM sys.columns WHERE object_id = OBJECT_ID('tablename');
在你的例子中,

tablename将是'emp'。

如果您使用的是其他数据库,则可以尝试使用INFORMATION_SCHEMA.COLUMNS视图,该视图会返回类似的信息。