如果我们不知道column_names
,我们如何处理SELECT
语句
如果我有以下查询,我的经验很少
SELECT * FROM emp
我愿意
While sqlReader.Read()
Dim name as string = sqlReader.Item("emp_name")
End While
问题
但如果我不知道我得到的数字和列名称怎么办? 是否有任何处理此的方法 一种方法,告诉我们选择了x个列并且名称为
然后将其作为字符串列表返回,我不知道这是否重要,但我这样做是作为一个Web服务
答案 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视图,该视图会返回类似的信息。