パスバイパラメータ: SQL = 「Select(*)をZhuceから選び、Username=@username、PWD=@pwd、type = @type」; SqlConnection conn = new SqlConnection(Common.Context.SqlManager.CONN_STRING); コネル。 Open();
SqlCommand cmd = new 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 = ユーザー名; cmd.Parameters["@pwd"]。 価値 = pwd; cmd.Parameters["@type"]。 値=パワー。 テキスト;
int count = Convert.ToInt32(cmd.ExecuteScalar());
コネル。 Close();
どのデータベースを使っているのか分かりません こちらはSQL-Serverのコードの一部です インジェクション攻撃を防ぐために最も重要なのは、スプライシングパラメータを使うのではなく、パラメータ割り当てメソッドを使うことです。 SqlConnection conn=...... SqlCommand comm =new SqlCommand(「table 1からcount (*)を選択し、ここでname = @loginame とpassword = @loginpassword", conn); 通信。 Parameters.Add(new SqlParameter("@loginame",SqlDbType.NVarchar,20); 通信。 Parameters["@loginame"].value=TextBox1.Text; 通信。 Parameters.Add(new SqlParameter("@loginpassword",SqlDbType.NVarchar,20); 通信。 Parameters["@loginpassword"].value=TextBox2.Text; 通信。 Connection.Open(); int mark=(int)comm。 ExecuteScalar()
//--mark用于标记 |