Pass-by-parameter: streng sql = "vælg antal(*) fra zhuce hvor brugernavn=@username og pwd=@pwd og type = @type"; SqlConnection conn = ny SqlConnection(Common.Context.SqlManager.CONN_STRING); Conn. Open();
SqlCommand cmd = ny SqlCommand (sql, conn); cmd.Parameters.Add("@username",SqlDbType.VarChar,30); cmd.Parameters.Add("@pwd",SqlDbType.VarChar,30); cmd.Parameters.Add("@type",SqlDbType.VarChar,10); cmd.Parameters["@username"]. Value = brugernavn; cmd.Parameters["@pwd"]. Værdi = pwd; cmd.Parameters["@type"]. Værdi = styrke. Tekst;
int count = Convert.ToInt32(cmd.ExecuteScalar());
Conn. Close();
Jeg er ikke sikker på, hvilken database du bruger Her er et stykke SQL-Server-kode Det vigtigste for at forhindre injektionsangreb er ikke at bruge splejsningsparametre, men at anvende parametertildelingsmetoder. SqlConnection conn=...... SqlCommand comm =new SqlCommand ("vælg count (*) fra Table1, hvor navn = @loginame og adgangskode = @loginpassword",conn); Comm. Parameters.Add (ny SqlParameter("@loginame",SqlDbType.NVarchar,20); Comm. Parameters["@loginame"].value=TextBox1.Text; Comm. Parameters.Add (ny SqlParameter("@loginpassword",SqlDbType.NVarchar,20); Comm. Parameters["@loginpassword"].value=TextBox2.Text; Comm. Connection.Open(); int mark=(int)comm. ExecuteScalar()
//--mark用于标记 |