Ohitusparametri: merkkijono SQL = "valitse count(*) ZHUCEsta, missä käyttäjänimi=@username ja PWD=@pwd ja type = @type"; SqlConnection conn = uusi SqlConnection(Common.Context.SqlManager.CONN_STRING); Conn. Open();
SqlCommand cmd = uusi 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 = käyttäjätunnus; cmd.Parameters["@pwd"]. Arvo = vammainen; cmd.Parameters["@type"]. Arvo = teho. Tekstiviesti;
int count = Convert.ToInt32(cmd.ExecuteScalar());
Conn. Close();
En ole varma, mitä tietokantaa käytät Tässä on pala SQL-Server-koodia Tärkein asia injektiohyökkäysten estämiseksi on olla käyttämättä splicing-parametreja, vaan käyttää parametrien määritysmenetelmiä. SqlConnection conn=...... SqlCommand comm = new SqlCommand ("valitse count (*)taulukosta 1, missä nimi = @loginame ja salasana = @loginpassword", conn); Comm. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20); Comm. parametrit["@loginame"].value=TextBox1.Text; Comm. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20); Comm. parametrit["@loginpassword"].value=TextBox2.Text; Comm. Connection.Open(); int mark=(int)comm. ExecuteScalar()
//--mark用于标记 |