寻找一些可以从服务器上特定数据库检索表名称的C#示例。我已经有了一个有效的连接字符串,只是在寻找将每个表的名称添加到List中以供以后检索和操作的正确方法。
System.Data.SqlClient无需对sys.Tables进行正式查询就可以满足您的需求(尽管这是其在后台使用的功能)。GetSchema()在SqlConnection对象上使用该方法并指定要使用“表”,它将向您发送一个DataTable对象,其中每个表都带有一行。它在每一行中(以该列顺序)发回数据库名称,表模式名称,表名称和表类型。代码如下所示:
System.Data.SqlClient
GetSchema()
SqlConnection
DataTable
public static List<string> GetTables(string connectionString) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); DataTable schema = connection.GetSchema("Tables"); List<string> TableNames = new List<string>(); foreach (DataRow row in schema.Rows) { TableNames.Add(row[2].ToString()); } return TableNames; } }