1

私は問題があります。SQL接続を開くためのこのメソッドを作成しました。しかし、うまくいきませんでした。なぜこれが機能しなかったのですか。

public SqlConnection connection( ) 
{
    string DBName = ConfigurationManager.AppSettings["DBName"].ToString();
    string ServerName = ConfigurationManager.AppSettings["ServerName"].ToString();
    string UserId = ConfigurationManager.AppSettings["UserId"].ToString();
    string DBPassword = ConfigurationManager.AppSettings["DBPassword"].ToString();

    EMVTool.OSSPwdProcessor PwdPass = new EMVTool.OSSPwdProcessor();

    String sClearPwd = "";

    if (DBPassword.Length > 40)
        sClearPwd = PwdPass.DecryptPwd(DBPassword);
    else
        sClearPwd = DBPassword;

    string ConnectionString = "Server=" + ServerName + ";Database =" + DBName + ";UID =" + UserId + ";PWD =" + sClearPwd + ";MultipleActiveResultSets=True;";

    SqlConnection connect = new SqlConnection(ConnectionString);

    return connect;
}

そして、SQL接続を開くためにそのようなメソッドを呼び出しています。

connection().Open();
4

1 に答える 1

4

何かを開いたが、その後別のインスタンスを使用したため、機能しませんでした。

機能させるには、関数の戻り値をローカル変数に割り当てます。

using (SqlConnection  conn = connection())
{
    conn.Open();
    //rest of code...
}
于 2012-09-20T08:37:34.430 に答える