Παράμετρος Pass by: συμβολοσειρά sql = "επιλέξτε count(*) από το zhuce όπου username=@username και pwd=@pwd και type = @type"; SqlConnection conn = νέο SqlConnection(Common.Context.SqlManager.CONN_STRING); Συν. Open();
SqlCommand cmd = νέα 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"]. Τιμή = όνομα χρήστη; cmd.Parameters["@pwd"]. Τιμή = ΑμεΑ; cmd.Parameters["@type"]. Τιμή = ισχύς. Κείμενο;
int count = Convert.ToInt32(cmd.ExecuteScalar());
Συν. Κλείσιμο();
Δεν είστε σίγουροι ποια βάση δεδομένων χρησιμοποιείτε Εδώ είναι ένα κομμάτι κώδικα SQL-Server Το πιο σημαντικό πράγμα για την αποφυγή επιθέσεων έγχυσης δεν είναι η χρήση παραμέτρων ματίσματος, αλλά η χρήση μεθόδων εκχώρησης παραμέτρων. SqlConnection conn=...... SqlCommand comm = νέα SqlCommand ("επιλογή πλήθους (*) από τον Πίνακα 1 όπου όνομα = @loginame και κωδικός πρόσβασης = @loginpassword",conn); comm. Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20); comm. Παράμετροι["@loginame"].value=TextBox1.Text; comm. Parameters.Add(νέα SqlParameter("@loginpassword",SqlDbType.NVarchar,20); comm. Παράμετροι["@loginpassword"].value=TextBox2.Text; comm. Connection.Open(); int mark=(int)comm. ΕκτέλεσηΒαθμωτό()
//--mark用于标记 |