将表的列名称检索到组合框中

时间:2010-04-26 05:09:45

标签: c# sql-server

我正在使用c#windows表单应用程序。我有一个包含许多表的数据库。每个表都有几列。我需要使用所选表的列名填充组合框。

4 个答案:

答案 0 :(得分:1)

这应该为您提供表格列表

SELECT name 
FROM dbo.sysobjects 
WHERE xtype = 'U' 

这应该为每个表提供列信息

select * 
from INFORMATION_SCHEMA.COLUMNS 
where TABLE_NAME = 'yourTable'

答案 1 :(得分:1)

在SQL Server 2005及更高版本上执行此操作的正确方法(您没有明确指出您正在使用的版本)将检查位于sys架构中的系统目录视图:

SELECT 
    name
FROM    
    sys.columns
WHERE
    object_id = object_id('YourTableNameHere')
ORDER BY
    name    

sys.columns目录视图为您提供了有关表的列的大量信息 - 该表由object_id列标识,该列是该表的内部ID。 / p>

答案 2 :(得分:0)

以下是如何从sql server查询列名的方法。其他数据库与此类似。 http://blog.sqlauthority.com/2008/08/05/sql-server-2005-get-field-name-and-type-of-database-table/

至于将这些项目放入组合框中,您可以通过此链接找到msdn上的大量信息http://msdn.microsoft.com/en-us/library/aa983551(VS.71).aspx

享受!

答案 3 :(得分:0)

您可以使用此代码

string  sqlquery="select column_name FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'student' ORDER BY ORDINAL_POSITION";
     DataFind.Open();
     cmd = new SqlCommand(sqlquery, DataFind);

     SqlDataReader DR = cmd.ExecuteReader();

       while (DR.Read())
     {
         comboBox1.Items.Add(DR[0]);

     }
     DataFind.Close();