gpt4 book ai didi

c# - 如何在 ListBox 中显示我所有的 sql 表

转载 作者:行者123 更新时间:2023-11-30 21:29:46 29 4
gpt4 key购买 nike

我正在尝试从我的数据库接收信息。我需要列出我所有的表名。我想我离死刑还差得很远。我正在尝试这个但没有用,.sql 是我的连接字符串

private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
listBox1.Text= (SQLConnection.sql = "SELECT* FROM INFORMATION_SCHEMA.TABLES");
}

最佳答案

如果您已经定义了一个 DbContext 来访问您的数据库,您可以执行以下操作。 (假设您使用的是 Entity Framework )。

using(var ctx = new YourDbContex())
{
var tableNames = ctx.Database.SqlQuery<string>("SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES as t WHERE t.TABLE_TYPE = 'BASE TABLE' AND t.TABLE_SCHEMA = 'yourDatabase'").ToList() ;
listBox1.Text = String.Join(", ", tableNames);
}

此 SqlQuery 将获取您在“您的数据库”中定义的所有表,并将文本设置为“table1、table2、...”

如果您不想使用 DbContext 访问您的数据库,您可以使用 SqlCommandClass 来实现。使用 sql 作为您的连接字符串。

var command = sql.CreateCommand() ;
command.CommandText = "SELECT t.TABLE_NAME FROM INFORMATION_SCHEMA.TABLES as t WHERE t.TABLE_TYPE = 'BASE TABLE' AND t.TABLE_SCHEMA = 'yourDatabaseName'";
List<string> tableNames = new List<string>() ;

sql.Open() ;

using(var reader = command.ExecuteReader())
{
while(reader.Read())
{
tableNames.Add(reader.GetString(0)) ;
}
}

sql.Close();

listBox1.Text = String.Join(", ", tableNames) ;

关于c# - 如何在 ListBox 中显示我所有的 sql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56872854/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com