从Visual Studio中检索SQL Server中的表

本文关键字:Server SQL 检索 Visual Studio | 更新日期: 2023-09-27 17:49:20

我正在使用c# Visual studio和SQL Server作为其后端。这是我的代码-我试图根据数据库名称检索表名。使用的命令在SQL Server Management Studio查询生成器中工作完美,但当我运行这个时,它显示错误

对象引用未设置为对象的实例

在接下来的行

cmbAlterAdd1.Items.Add(Reader2["name"].ToString());

我给出的名称,因为在结果列名称来有名称只有显示的图像。我想我需要专家的建议来解决这个问题,请帮助!!

ConnectionPath = sqlPath;
DBName = databaseName;
SqlConnection con = new SqlConnection(ConnectionPath);
con.Open();
SqlCommand cmd = new SqlCommand("USE "+DBName+" SELECT name FROM sys.Tables", con);
SqlDataReader Reader2 = cmd.ExecuteReader();
while (Reader2.Read())
{
    cmbAlterAdd1.Items.Add(Reader2["name"].ToString());
}
con.Close();

图像链接

从Visual Studio中检索SQL Server中的表

USE

后面加个分号
SqlCommand cmd = new SqlCommand("USE "+DBName+"; SELECT name FROM sys.Tables", con);

另一个想法,ID/密码在您的连接字符串适用于其他数据库,以及?

这是一个使用。net数据库对象的完整工作示例。我没有注意到错误处理或任何东西,只是概念。

SqlConnection insSqlConnection = new SqlConnection("Your connection string");
SqlCommand insSqlCommand = new SqlCommand("SELECT * FROM INFORMATION_SCHEMA.TABLES", insSqlConnection);
SqlDataAdapter insSqlDataAdapter = new SqlDataAdapter(insSqlCommand);
DataTable insDt_Tables = new DataTable();
insSqlConnection.Open();
insSqlDataAdapter.Fill(insDt_Tables);
insSqlConnection.Close();

请注意,此查询将列出连接字符串中定义的Initial Catalog中的表。

希望对大家有所帮助