Passer-op-parameter: string sql = "selecteer aantal(*) uit zhuce waarbij gebruikersnaam=@username en pwd=@pwd en type = @type"; SqlConnection conn = nieuwe SqlConnection(Common.Context.SqlManager.CONN_STRING); Conn. Open();
SqlCommand cmd = nieuwe 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"]. Waarde = gebruikersnaam; cmd.Parameters["@pwd"]. Waarde = pwd; cmd.Parameters["@type"]. Waarde = kracht. Sms;
int count = Convert.ToInt32(cmd.ExecuteScalar());
Conn. Close();
Ik weet niet zeker welke database je gebruikt Hier is een stukje SQL-Server-code Het belangrijkste om injectie-aanvallen te voorkomen is niet het gebruik van splicingparameters, maar het toewijzen van parameters. SqlConnection conn=...... SqlCommand comm =new SqlCommand ("selecteer count (*) uit Table1 waarbij naam = @loginame en wachtwoord = @loginpassword",conn); comm. Parameters.Add (nieuwe SqlParameter("@loginame",SqlDbType.NVarchar,20); comm. Parameters["@loginame"].value=TextBox1.Text; comm. Parameters.Add (nieuwe SqlParameter("@loginpassword",SqlDbType.NVarchar,20); comm. Parameters["@loginpassword"].value=TextBox2.Text; comm. Connection.Open(); int mark=(int)comm. ExecuteScalar()
//--mark用于标记 |