我正在使用c#windows表单应用程序。我有一个包含许多表的数据库。每个表都有几列。我需要使用所选表的列名填充组合框。
答案 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();