Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
влад0
4 / 4 / 0
Регистрация: 22.05.2012
Сообщений: 122
1

Вызов ХП и получение результата

05.04.2016, 23:06. Просмотров 887. Ответов 3
Метки нет (Все метки)

Есть ХП которая возвращает ид пользователя по паре ЛогинПароль. Если пользователя не нашло оно возвращает -1.
Проверяя данную функцию собственно в самой БД все работает отлтично. При вызове из программы всегда возвращает -1. ДУмаю проблема в корректности вызова, сам не пойму в чем проблема может быть, выручите
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 private int CheckExistUser(SqlConnection connection, string login, string password)
        {
            int idUser;
            // Задание имени хранимой процедуры
            using (SqlCommand cmd = new SqlCommand("CheckExistUser", connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                // Входной параметр.
                SqlParameter param = new SqlParameter();
                param.ParameterName = "@Login";
                param.SqlDbType = SqlDbType.VarChar;
                param.Size = 20;
                param.Value = login;
 
                //По умолчанию параметры считаются входными, но все же для ясности:
                param.Direction = ParameterDirection.Input;
                cmd.Parameters.Add(param);
 
                // Выходной параметр.
                param = new SqlParameter();
                param.ParameterName = "@Password";
                param.SqlDbType = SqlDbType.VarChar;
                param.Size = 25;
                param.Value = password;
 
                param.Direction = ParameterDirection.Input;
                cmd.Parameters.Add(param);
 
                // Выполнение хранимой процедуры.
                idUser = cmd.ExecuteNonQuery();
            }
            return idUser;
        }
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2016, 23:06
Ответы с готовыми решениями:

Получение результата запроса 1C
Всем приве! Есть необходимость из C# подключитья к 1С и передать запрос (так как он используется в...

LINQ to DataSet - получение результата запроса
Всем доброго дня! Интересует следующий вопрос. Каким образом можно получить результат запроса...

Вызов запроса хранящегося в Access2000 и его вызов из VB, с получение Recordset.
Есть запрос хранящийся в БД Access2000. Как можно его вызвать из VB и получить от него Recordset?

Получение результата из БД по дате
Есть таблица, у каждой строки есть 2 поля типа DATE: starts и ends Есть задача, выводить результат...

Получение результата функции
Проблема решена

3
OwenGlendower
Супер-модератор
Эксперт .NET
10247 / 8843 / 3785
Регистрация: 17.03.2014
Сообщений: 17,788
Записей в блоге: 1
05.04.2016, 23:16 2
влад0, если возврат идет через RETURN, то нужно добавить параметр с ParameterDirection.ReturnValue и читать значение из него.
1
kodv
1424 / 1097 / 344
Регистрация: 11.04.2011
Сообщений: 2,606
Завершенные тесты: 1
06.04.2016, 04:38 3
Лучший ответ Сообщение было отмечено влад0 как решение

Решение

Цитата Сообщение от влад0 Посмотреть сообщение
Есть ХП
Цитата Сообщение от влад0 Посмотреть сообщение
Проверяя данную функцию
Так ХП или функцию? Для СУБД это разные вещи.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private int CheckExistUser(SqlConnection connection, string login, string password)
{
    try
    {
        using(SqlCommand cmd = new SqlCommand("CheckExistUser", connection) {CommentType = CommandType.StoredProcedure})
        {
            SqlCommandBuilder.DeriveParameters(cmd);
            cmd.Parameters["@Login"].Value = login;
            cmd.Parameters["@Password"].Value = password;
            cmd.ExecuteNonQuery();
            return (int)cmd.Parameters["@RETURN_VALUE"].Value;
       }
    }
    catch(Exception E)
    {
        return -1;
    }
}
2
влад0
4 / 4 / 0
Регистрация: 22.05.2012
Сообщений: 122
07.04.2016, 23:00  [ТС] 4
Цитата Сообщение от kodv Посмотреть сообщение
Так ХП или функцию?
Хранимую процедуру.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2016, 23:00

Получение результата запроса
Делаю авторизацию. Пытаюсь получить имя пользователя, но не пашет. Наверное, неправильно рез-ты...

SendMessage получение результата
Пытаюсь найти способ получать от запроса SendMessage Инициализирую функцию SendMessage так: ...

Pdo и получение результата
приветствую форумчане! надеюсь на Вашу помощь! знакомлюсь с pdo, навалял скриптик и не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru