c#:连接到sql server的一个类

c#:连接到sql server的一个类,c#,class,connection,C#,Class,Connection,你好,希望你玩得开心。 我有一个问题,我将其分为三点: 1:创建一个类以连接到sql server。应使用sql server身份验证进行连接。 此类应包含连接参数的多个变量 2:创建显示当前连接参数的用户窗体。并允许用户更新这些参数。在这个表单中,应该有一个按钮来测试连接,另一个按钮用来保存用户对连接参数的更改 3:如何在应用程序中的不同表单之间共享由我们在第1点中创建的类创建的连接。理想情况下,在不保持太多打开的连接的情况下,只应打开一个连接 我将添加代码,可以解决这个问题,我希望你能帮助我

你好,希望你玩得开心。 我有一个问题,我将其分为三点:

1:创建一个类以连接到sql server。应使用sql server身份验证进行连接。 此类应包含连接参数的多个变量

2:创建显示当前连接参数的用户窗体。并允许用户更新这些参数。在这个表单中,应该有一个按钮来测试连接,另一个按钮用来保存用户对连接参数的更改

3:如何在应用程序中的不同表单之间共享由我们在第1点中创建的类创建的连接。理想情况下,在不保持太多打开的连接的情况下,只应打开一个连接

我将添加代码,可以解决这个问题,我希望你能帮助我完善它

我对这一切都不熟悉。 谢谢大家的帮助

  • 已经存在<代码>SqlConnection和可能的
    SqlConnectionStringBuilder
  • 这种类型已经存在,通过IDE,但上次我检查这不是一个可再发行的dll。但是,您可以简单地将
    SqlConnectionStringBuilder
    挂接到
    PropertyGrid
    ——或者从头开始编写UI
  • 即使“只有一个连接应该是开放的”也是错误的,IMO-让内置的连接池来处理这个问题;您所需要的只是一些带有连接字符串的配置类,只需在本地处理您需要的连接即可

    using(var conn = new SqlConnection(Config.ConnectionString))
    {
        conn.Open();
        // NOT SHOWN: do a couple of related operations
    } // <== and here, it dies
    
    使用(var conn=new SqlConnection(Config.ConnectionString))
    {
    conn.Open();
    //未显示:执行两个相关操作
    
    }//1:访问MSDN网站,您将找到您需要的:

    2:查看您的连接属性()并用它填充listView或等效文件


    3:使用前面的SqlConnection.Open()来处理它

    是的,没问题。你想让我给你的老师也发电子邮件吗?你想在这里得到所有这些的完整代码吗?如果你有更具体的问题,请自己尝试,如果你有更具体的问题,请回来。非常感谢。因为你的答案非常有用,我正在尝试应用它。我将很快在这里添加代码。与其尝试
    最终
    /
    ,不如对
    读卡器
    命令
    (以及您已经完成的
    连接
    )使用
    。就我个人而言,我也会说“使用一些简洁的东西”(而不是
    ,而(reader.Read())
    不客气,如果你需要的话,不要忘记验证答案:)谢谢Marc Gravell有用的答案。
    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();
            }
        }
    }