2012-06-15 153 views
0

我值插入一個表,下面是我的代碼無法將值插入表

protected void Button4_Click(object sender, EventArgs e) 
    { 
     string conn = ConfigurationManager.ConnectionStrings["mineConnection"].ConnectionString; 
     SqlConnection conn1=new SqlConnection(conn); 
     conn1.Open(); 
     SqlCommand cmd1=new SqlCommand("insert into emp values(@empid,@name)",conn1); 
     cmd1.Parameters.Add("@empid", TextBox11.Text); 
     cmd1.Parameters.Add("@name", TextBox12.Text); 
     SqlDataReader dr; 
     SqlCommand cmd=new SqlCommand("select * from emp where empid='"+TextBox11.Text+"'",conn1); 
     dr = cmd.ExecuteReader(); 
     if(dr.HasRows) 
     { 
     if(dr.Read()) 
     { 
      if(TextBox11.Text==dr[0].ToString()) 
      { 
      Response.Write("id already exists"); 
      } 
     } 

     } 
     else 
     { 
      dr.Close(); 
      cmd.ExecuteNonQuery(); 
      Response.Write("values inserted"); 
     } 
    } 
    } 

但問題是我無法插入值,我沒有得到任何錯誤也。誰能幫我?

回答

6

因爲您沒有在代碼中的任何位置執行SqlCommand cmd1

定義命令後

SqlCommand cmd1=new SqlCommand("insert into emp values(@empid,@name)",conn1); 
    cmd1.Parameters.Add("@empid", TextBox11.Text); 
    cmd1.Parameters.Add("@name", TextBox12.Text); 

執行查詢

cmd1.ExecuteNonQuery(); 
+0

哎呀,我錯過了,現在它工作:)。 – user1435482

+0

如何使用上面相同的代碼傳遞參數,如創建方法和傳遞值? – user1435482

+0

選擇代碼,右鍵單擊它,選擇重構 - >提取方法,這將給你一個想法當我使用Refractor-> Extract爲上述代碼的返回值是灰色的,我不能聲明參數也給出了一個想法 – Habib

2

我沒有看到你的代碼行,在那裏你實際執行INSERT命令。

您定義了cmd1命令,但從未使用它,因此您不要插入數據。