Pass by paraméter: string SQL = "Select count(*) a zhuce-ból, ahol username=@username és pwd=@pwd, és type = @type"; SqlConnection conn = új SqlConnection(Common.Context.SqlManager.CONN_STRING); Conn. Open();
SqlCommand cmd = új 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"]. Érték = felhasználónév; cmd.Parameters["@pwd"]. Érték = pwd; cmd.Parameters["@type"]. Érték = teljesítmény. SMS;
int count = Convert.ToInt32(cmd.ExecuteScalar());
Conn. Close();
Nem vagyok biztos benne, milyen adatbázist használsz Itt egy SQL Server kód A legfontosabb a beinjekciós támadások megelőzéséhez nem a splicing paraméterek használata, hanem paraméterhozzárendelési módszerek alkalmazása. SqlConnection conn=...... SqlCommand comm = új SqlCommand ("select count (*)from Table1, ahol név = @loginame és jelszó = @loginpassword", conn); Kommunikátor. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20); Kommunikátor. Parameters["@loginame"].value=TextBox1.Text; Kommunikátor. Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20); Kommunikátor. Parameters["@loginpassword"].value=TextBox2.Text; Kommunikátor. Connection.Open(); int mark=(int)comm. ExecuteScalar()
//--mark用于标记 |