Parametro di passaggio: stringa sql = "seleziona count(*) da zhuce dove username=@username e pwd=@pwd e type = @type"; SqlConnection conn = nuovo SqlConnection(Common.Context.SqlManager.CONN_STRING); Conn. Open();
SqlCommand cmd = nuovo 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"]. Valore = nome utente; cmd.Parameters["@pwd"]. Valore = pwd; cmd.Parameters["@type"]. Valore = potenza. Testo;
conteggio di int = Convert.ToInt32(cmd.ExecuteScalar());
Conn. Close();
Non sono sicuro di quale database stai usando Ecco un pezzo di codice SQL-Server La cosa più importante per prevenire gli attacchi di iniezione non è usare parametri di splicing, ma metodi di assegnazione dei parametri. SqlConnection conn=...... SqlCommand comm =nuovo SqlCommand ("seleziona count (*)da Table1 dove nome = @loginame e password = @loginpassword",conn); comm. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20); comm. Parametri["@loginame"].value=TextBox1.Text; comm. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20); comm. Parametri["@loginpassword"].value=TextBox2.Text; comm. Connessione.Open(); int mark=(int)comm. ExecuteScalar()
//--mark用于标记 |