во-первых, я попытался использовать следующий кодПредотвращение SQL инъекции в оракула
strQuery = @"SELECT PASSWORD FROM IBK_USERS where upper(user_id) =upper('" + UserPrefix + "')";
try
{
ocommand = new OracleCommand();
if (db.GetConnection().State == ConnectionState.Open)
{
ocommand.CommandText = strQuery;
ocommand.Connection = db.GetConnection();
odatareader = ocommand.ExecuteReader();
odatareader.Read();
и, наконец, я конвертированы выше запроса, чтобы предотвратить SQL инъекции, как этот
strQuery = @"SELECT PASSWORD FROM IBK_USERS where upper(user_id) =upper(:UserPrefix)";
try
{
ocommand = new OracleCommand();
if (db.GetConnection().State == ConnectionState.Open)
{
ocommand.CommandText = strQuery;
ocommand.Connection = db.GetConnection();
ocommand.Parameters.Add(":UserPrefix",OracleDbType.Varchar2,ParameterDirection.Input);
ocommand.Parameters[":UserPrefix"].Value = UserPrefix;
odatareader = ocommand.ExecuteReader();
, но это не работает
Определить «не работает». Какое неожиданное поведение вы видите? Какое сообщение об ошибке? Какая трассировка стека? – beny23
Это не язык программирования SQL-тегов. Фрагмент кода не является полным. –
no error message –