2017-06-15 31 views
0

enter image description here接続が閉じられませんでした。接続の現在の状態は開いています。 //

新しいパブリック部分クラスの申し込み:System.Web.UI.Page {SqlConnectionのコン=新しいSqlConnectionオブジェクト(ConfigurationManager.ConnectionStrings [ "DBCON"]のToString());

public int chkuser() 
    { 
     if (con.State.ToString() == "open") 
      con.Close(); 
     SqlCommand cmd = new SqlCommand("select count(*) from Task2_SignUp where UserName= '"+txtUName.Text+"'",con); 
     con.Open(); 
     int flag = Convert.ToInt32(cmd.ExecuteScalar().ToString()); 
     return flag; 
    } 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 

    protected void btnSignUp_Click(object sender, EventArgs e) 
    { 
     if(chkuser()==0) 
     { 
      if (con.State.ToString() == "open") 
       con.Close(); 
      SqlCommand cmd = new SqlCommand("insert into Task2_SignUp (UserName,Password,Name) values (@UserName, @Password, @Name)", con); 
      cmd.Parameters.AddWithValue("@Username", txtUName.Text); 
      cmd.Parameters.AddWithValue("@Password", txtPassword.Text); 
      cmd.Parameters.AddWithValue("@Name", txtName.Text); 
      con.Open(); //ERROR SHOWING IN THIS LINE 
      cmd.ExecuteNonQuery(); 
      con.Close(); 

      lblSignUp.Text = "Registration Successfull"; 
      _blank(); 
     } 
     else if(chkuser()>0) 
     { 
      lblSignUp.Text = "Username not available"; 
     } 
    } 
    public void _blank() 
    { 
     txtName.Text = ""; 
     txtUName.Text = ""; 
     txtPassword.Text = ""; 
    } 

    protected void btnNext_Click(object sender, EventArgs e) 
    { 
     Response.Redirect("Login.aspx"); 
    } 
} 

}

QUESTION:これは私がいけない...なぜ知っているとsuprprisinglyこの同じコードは2週間前に働いていたが、現在は動作していない取得していますエラー..です可能であれば、私を助けてください。

+0

接続が開いているかどうかを確認する現在の方法ではなく、(connection.State == ConnectionState.Open)if(接続が開いているかどうかを確認する場合は、以下を使用します) –

+0

[接続接続の現在の状態が閉じていない](https://stackoverflow.com/questions/13343236/the-connection-was-not-closed-the-connections-current-state-is-open) –

+0

いいえ..同じ問題:..( – Saakey7

答えて

0

問題は解決されました。それは小さな誤りです。代わりに(con.State.ToString()== "Open")私は(con.State.ToString()== "open")を書いています... Capital 'O'の代わりに小さなOを書いた..したがって、この問題が発生しました..休憩してください私のコードはabosultely大丈夫です。研修生のデベロッパーとして私はこのことを学びました。私のように始めたドットネットの他の研修生の開発者がいれば、あなたは躊躇してはいけません。構文について覚えておいてください。

0

問題:

  1. 機能chkUserには問題があります。 txtUName.Textに一重引用符が含まれていると、例外がスローされます。パラメータを使用するために再コーディングするのが最適です。

  2. また例外はどこにありますか?スタックトレースを送信します。

  3. connection.State == ConnectionState.Openを使用できる場合、con.State.ToString() == "open"の必要はありません。

  4. 「2週間前」からデータベースが変更されているかどうかはわかりません。そこで開始することがあります。

+0

1)はこのエラーがデータベースに接続されていますか? 2)問題が2回目の実行中に機能Chkuserで発生しました..私はブレークポイントでうまくいった。3)私はいつも私のトレーナーが教えているようにcon.state.tostring()== "open"を使う。それはどんな問題になりますか? :) – Saakey7

関連する問題