在SQL语句中使用参数,可以完成如向数据库中插入含特殊字符的数据等常规方式无法完成的功能
在构造SQL语句时,先使用@方式占位,然后通过参数的方式将值传入SQL语句中,在传入参数时,还需要指定参数的数据库数据类型
string[] tmp=new string[3]; string str; string connstring = "Data Source=.;Initial Catalog=PasswdDB;Integrated Security=True"; SqlConnection myConn = new SqlConnection(connstring); string cmdstring = "insert into [test] (username,password,mail) values(@username,@password,@mail)"; str = "adaaadd#asdd'x;aa#cddddd"; tmp = str.Split('#'); name = tmp[0].Trim(); passwd = tmp[1].Trim(); mail = tmp[2].Trim(); SqlCommand cmd = new SqlCommand(cmdstring, myConn); cmd.Parameters.Add("@username", SqlDbType.NVarChar).Value = name; cmd.Parameters.Add("@password", SqlDbType.NVarChar).Value = passwd; cmd.Parameters.Add("@mail", SqlDbType.NVarChar).Value = mail; try { myConn.Open(); cmd.ExecuteNonQuery(); } catch (System.Exception ex) { MessageBox.Show(ex.Message.ToString()); } myConn.Close();