2014-02-11 40 views
0
SqlConnection con = new SqlConnection(@"Data Source=bpnaidu-pc\sqlexpress;Initial Catalog=Userlog;Integrated Security=True;Pooling=False"); 
con.Open(); 

SqlCommand cmd = new SqlCommand("INSERT INT0 UserRegd values('" + ddl_signup.Text + "','" + txt_user.Text + "','" + txtEmail1.Text + "','" + txtPassword.Text + "','" + txtConPassword.Text + "')", con); 

cmd.ExecuteNonQuery(); 
con.Close(); 
+1

[SQL注入警報(http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 你應該**不**將您的SQL語句連接在一起 - 使用**參數化查詢**代替以避免SQL注入 –

+2

確實 - 感謝錯字,因爲它阻止了您目前實際存在安全漏洞... –

回答

2

在查詢中用O替換零。

INSERT INT0 

應該

INSERT INTO 

而且不要忘了危險的SQL注入。使用參數查詢。

SqlCommand cmd = new SqlCommand("INSERT INTO UserRegd values(@signUp,@user,@email,@password,@confirmPassword)", con); 

cmd.Parameters.Add("@signUp", ddl_signup.Text); 
cmd.Parameters.Add("@user", txt_user.Text); 
cmd.Parameters.Add("@email", txtEmail1.Text); 
cmd.Parameters.Add("@password", txtPassword.Text); 
cmd.Parameters.Add("@confirmPassword", txtConPassword.Text); 

cmd.ExecuteNonQuery() 
1

你打字的O0代替

INSERT INT0 <--- here 

將其更改爲:

INSERT INTO 

你也應該考慮使用parameterized queries防止SQL Injection攻擊。

+0

是的,這個答案正在工作(0 ---- O) – Sankar

1

INSERT INT0應該INSERT INTO

也請不要建立與字符串連接參數化查詢。改爲使用SqlParameter

1

INT0應該是INTO,你在末尾有數字零。使用Parameterized query。您當前的查詢是容易SQL Injeciton,喜歡的東西:

using (SqlConnection con = new SqlConnection(@"Data Source=bpnaidu-pc\sqlexpress;Initial Catalog=Userlog;Integrated Security=True;Pooling=False")) 
{ 
    using (SqlCommand cmd = new SqlCommand("INSERT INTO UserRegd values(@signup, @user, @email, @password)", con)) 
    { 
     cmd.Parameters.AddWithValue("@signup", ddl_signup.Text); 
     cmd.Parameters.AddWithValue("@user", txt_user.Text); 
     cmd.Parameters.AddWithValue("@email", txtEmail1.Text); 
     cmd.Parameters.AddWithValue("@password", txtPassword.Text); 
     con.Open(); 
     cmd.ExecuteNonQuery(); 
    } 
} 
1

什麼是0

您應該使用INSERT INTO

0------>o 
相關問題