【发布时间】:2009-01-25 02:32:47
【问题描述】:
我有一些现有代码使用 ADO.NET 从数据库中检索数据,我想将其转换为 linq。
代码所做的是通过命令行接收 SQL 查询,执行它,返回行及其列名,然后将它们打印到屏幕上。我想知道如何在 linq 中编写此代码。
整个 sql 查询必须通过命令行给出,因为我想限制从哪里选择行。这是我希望它完成的唯一方法,所以除非你有一种可以这样工作的方法,否则我不能使用它。除了我自己之外,没有人可以访问该程序,因此安全性不是问题。
private static SqlConnection sqlConnection = new SqlConnection();
private static void OConnection()
{
sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = MyConsoleApp.Properties.Settings.Default.ConnStr;
sqlConnection.Open();
}
...
string query = Console.ReadLine();
OpenConn();
SqlCommand command = new SqlCommand(query, sqlConnection);
SqlDataReader reader = command.ExecuteReader();
if (reader != null)
{
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.Write("| {0}: {1}", reader.GetName(i), reader.GetValue(i));
}
Console.WriteLine();
}
}
【问题讨论】: