파라미터 패스: 문자열 SQL = "사용자 이름=@username PWD=@pwd 타입 = @type Zhuce에서 count(*)를 선택함"; 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());
조종. 클로즈();
어떤 데이터베이스를 사용하시는지 잘 모르겠습니다 다음은 SQL-Server 코드 한 조각입니다 주입 공격을 막는 가장 중요한 것은 스플라이싱 매개변수를 사용하는 것이 아니라 매개변수 할당 방법을 사용하는 것입니다. SqlConnection conn=...... SqlCommand comm =new SqlCommand ("name = @loginame password = @loginpassword", conn에서 table1에서 count (*)를 선택); 통신. 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用于标记 |