在控制台应用程序中获取表名
Getting tables name in Console application
我正在尝试获取数据库中的表名,连接成功但 select 查询的结果是 (System.Data.SqlClient.SqlCommand)。在我的代码下面。
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES");
Console.WriteLine(cmd);
string SelectQuery = "SELECT * FROM dbo.DBNAME";
SqlCommand a = new SqlCommand(SelectQuery);
Console.WriteLine(a);
附上输出。
您正在尝试使用 Console.WriteLine(a);
打印 SqlCommand
class 的完整限定名称。当您尝试打印任何 class 的对象时,将导致打印您引用的 class 的完整限定名称。
您必须使用 SqlDataAdapter
将 SqlCommand
的结果填入 DataTable
,如下所示:
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dtTables = new DataTable();
da.Fill(dtTables);
for (int i = 0; i <= dtTables.Rows.Count - 1; i++)
{
Console.WriteLine(dtTables.Rows[i][0]);
}
Console.ReadLine();
首先你必须指定连接字符串
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES", connection_string);
那么你必须执行命令->
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
}
当您执行 Console.WriteLine(a) 时,它将打印出 class 名称,而不是 运行 SqlCommand 查询。您需要执行和存储数据。然后你可以打印出 tables_name
using (SqlDataReader reader = a.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
}
我正在尝试获取数据库中的表名,连接成功但 select 查询的结果是 (System.Data.SqlClient.SqlCommand)。在我的代码下面。
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES");
Console.WriteLine(cmd);
string SelectQuery = "SELECT * FROM dbo.DBNAME";
SqlCommand a = new SqlCommand(SelectQuery);
Console.WriteLine(a);
附上输出。
您正在尝试使用 Console.WriteLine(a);
打印 SqlCommand
class 的完整限定名称。当您尝试打印任何 class 的对象时,将导致打印您引用的 class 的完整限定名称。
您必须使用 SqlDataAdapter
将 SqlCommand
的结果填入 DataTable
,如下所示:
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dtTables = new DataTable();
da.Fill(dtTables);
for (int i = 0; i <= dtTables.Rows.Count - 1; i++)
{
Console.WriteLine(dtTables.Rows[i][0]);
}
Console.ReadLine();
首先你必须指定连接字符串
SqlCommand cmd = new SqlCommand("select TABLE_NAME from DBNAME.TABLES", connection_string);
那么你必须执行命令->
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
}
当您执行 Console.WriteLine(a) 时,它将打印出 class 名称,而不是 运行 SqlCommand 查询。您需要执行和存储数据。然后你可以打印出 tables_name
using (SqlDataReader reader = a.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[0]);
}
}