Ash*_*nko 17 c# sql sql-server-express
我需要从ac#class中执行一个sql查询.我想到了2个选项
我的问题是哪种方式更好?解决方案只能在短时间内与服务器建立连接,这一点非常重要.
如果上述情况不好,我会接受其他想法.
提前致谢.
Jus*_*ner 29
使用SqlCommand.此代码仅在很短的时间内保持连接活动(只要您的查询具有高效性):
DataTable results = new DataTable();
using(SqlConnection conn = new SqlConnection(connString))
    using(SqlCommand command = new SqlCommand(query, conn))
        using (SqlDataAdapter dataAdapter = new SqlDataAdapter(command))
           dataAdapter.Fill(results);
Run Code Online (Sandbox Code Playgroud)
        小智 7
来自MSDN:
以下示例创建SqlConnection,SqlCommand和SqlDataReader.该示例读取数据,将其写入控制台.最后,该示例关闭SqlDataReader,然后关闭SqlConnection,因为它退出使用代码块.
private static void ReadOrderData(string connectionString)
{
    string queryString = 
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)