2016-02-27 35 views
-1
Try 
      con.Open() 
      comm.Connection = con 
      comm.CommandText = "insert into [adminanduser] (username,firstname,lastname,email,password,usertype) values ('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & Label6.Text & "')" 
      comm.ExecuteNonQuery() 
      Response.Write("Data Successfully Saved") 
      con.Close() 

     Catch 
     Finally 


     End Try 
+1

您的代码是广泛开放的SQL注入攻击如[这个答案](http://stackoverflow.com/a/35646276/1070452)昨天你的问题。尝试添加一个名为D'Artagnan的用户,你会看到另一个原因。 – Plutonix

回答

1

除非您更改表格以便在其中一列上存在unqiue约束,否则插入重复数据时将无法获得例外。尽管如此,您可以始终使用SQL来确保不会添加重复条目。假设你正在试图保持唯一的用户名,你总是可以写这样的SQL:

comm.CommandText = @"IF NOT EXISTS(SELECT * FROM [adminanduser] WHERE [username] = @username) 
        INSERT INTO [adminanduser] SELECT @username,@firstname,@lastname,@email,@password,@usertype"; 
comm.Parameters.AddWithValue("@username", TextBox1.Text); 
comm.Parameters.AddWithValue("@firstname", TextBox2.Text); 
comm.Parameters.AddWithValue("@lastname", TextBox3.Text); 
comm.Parameters.AddWithValue("@email", TextBox4.Text); 
comm.Parameters.AddWithValue("@password", TextBox5.Text); 
comm.Parameters.AddWithValue("@usertype", TextBox6.Text); 

如果你宁愿下去产生错误的道路,尝试

ALTER TABLE [adminanduser] 
ADD UNIQUE (username) 

这应该抛出异常下一次您尝试插入重复的用户名

相关问题