|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Есть запрос sql с функцией PWDcompare, на проверку пароля. Он выводит результат 1, если все верно, результат 0. если не верен пароль и результат NULL если не верно написан логин и пароль. Вот часть кода: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
int a = Convert.ToInt32(result); - на этом месте выдает ошибку "object cannot be cast from DBNull to other types". Мне нужно чтобы при условии возврата sql запросом единицы выполнялось условие прописанное в if, в остальных случаях выводилось сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:24 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Текст sql-запроса нам нужно угадать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:38 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11результат 0. если не верен пароль и результат NULL если не верно написан логин иобычно даже если пароль не верен, то сообщают что неверен логин или пароль. Т.е. null уберите ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:41 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11, Запрос сделать чтобы Всегда был возврат 0/1 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:42 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Petro123, это функция такая, она автоматом null выводит ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:43 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11Petro123, это функция такая, она автоматом null выводит Дай sql. Наверняка можно корректировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:46 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Shocker.Pro, Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:46 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
А что мешает проверить на DbNull на клиенте? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:46 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Ну и такой параллельный вопрос, как вы думаете, что будет, если пользователь в textBox1 напишет что-то типа ')); DROP DATABASE; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:48 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11, Ну тогда выбери где будешь делать. На sql обернуть запросом для 0/1 коррекции или на клиенте проверить на null. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 19:58 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Petro123, то есть ошибка из за того, что запрос может выдать значение NULL? как сделать на клиенте проверку на NULL? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 20:02 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11как сделать на клиенте проверку на NULL?как у тебя на 1. Пробуй. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 20:07 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11как сделать на клиенте проверку на NULL? https://msdn.microsoft.com/ru-ru/library/5011f09h(v=vs.120) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 20:14 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
is System.DBNull ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 21:23 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Shocker.Pro, скорее всего будет ошибка синтаксиса, ты забыл правую часть "экранировать" подойдет либо --, либо какая то часть заканчивающаяся открывающейся ' ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 21:54 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Roman MejtesShocker.Pro, скорее всего будет ошибка синтаксиса, ты забыл правую часть "экранировать" подойдет либо --, либо какая то часть заканчивающаяся открывающейся 'поэтому я и написалShocker.Pro что-то типа, чтобы навести автора на мысль, что в любом случае пользователь не сможет задать себе пароль, содержащий апостроф, и это в лучшем случае ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 21:59 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Shocker.Pro, им пароли задавать не нужно, они уже есть, трудно объяснить. Я просто не совсем понять могу. Мне нужно делать наоборот? Ну, я пишу если равно единице, то открыть форму 2, а если нет то вывести сообщение. Мне нужно сделать как, если равно нулю или DBNull, то вывести сообщение, а если равно единице то открыть форму два? если не трудно то не могли бы Вы на примере того отрывка что я выложил привести пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2018, 23:19 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
1) вы пытаетесь конвертировать result в int 2) если result = DBNull - конвертировать в int не получится, о чем и сообщает ошибка 3) значит сначала нужно проверить на DBNull, а потом (если не равно) конвертировать в int 3а) другой вариант - воспользоваться TryParse вместо Parse ваш код за вас писать не будут - направление дали - пишите и учитесь пользоваться отладчиком, пошаговым выполнением программы и другими полезными средствами Visual Studio ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2018, 00:45 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11им пароли задавать не нужно, они уже есть, трудно объяснить.Какая разница. Если в пароле (который уже есть или который будет введен в ваш текстбокс) будет апостроф, программа упадет (и это в лучшем случае, в худшем будет уничтожена вся база). Почитайте на досуге тему "SQL-инъекции". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2018, 00:48 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Shocker.Pro, спасибо, буду разбираться ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2018, 01:08 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11, ваш код может быть таким: Код: 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.
Где то, где запускается эта форма с паролями логинами: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2018, 08:33 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2, спасибо большое ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2018, 11:06 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2, в чем может быть проблема, теперь всегда выдает ошибку не верен логин или пароль, хотя в sql все работает и запрос выдает 1? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 08:43 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2, Вот такая медвежья услуга выдавать готовый код вместо совместной поэтапной работы). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 09:59 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11stells2, в чем может быть проблема, теперь всегда выдает ошибку не верен логин или пароль, хотя в sql все работает и запрос выдает 1?пройдитесь отладчиком пошагово и скрин сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 10:01 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11stells2, в чем может быть проблема, теперь всегда выдает ошибку не верен логин или пароль, хотя в sql все работает и запрос выдает 1? Отлаживать код умеете? Поставьте точку остановки, посмотрите, что возвращается. Посмотрите, что у Вас в sqlaut. Похоже Вы не верно формируется значение переменной. Если textBox1, textBox2 - это названия элементов управления, то значения, введенные пользователем - это textBox1.Text и textBox2.Text, соответственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 10:12 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Petro123, я кажется нашел ошибку, у меня в sql запросе вставлен просто " + textbox1 +", а нужно же "+textbox1.text+" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 10:24 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
skyANA, да, спасибо,так и есть ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 10:36 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11, да не за что. Вам следует использовать параметры вместо конкатенации (выше Вам уже писали про возможность SQL-инъекций и простое введение апострофа). Код: c# 1. 2. 3. 4. 5. 6.
Вообщем читайте книжки по ADO.NET и отладку приложений .NET. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 10:53 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11теперь всегда выдает ошибку не верен логин или пароль Самый простой тут ответ - поставте точку останова на строке Код: c# 1.
И на следующем шаге вы поймете почем не выполняется условие и уходит на else. Смотрите что будет после вызова процедуры на сервере, лежать в переменной result. Я понятия не имею что находится в sqlaut и что, какой тип возвращает процедура. Не стесняйтесь, выкладывайте sqlaut . Но, думаю, пройдясь по шагам, Вы сами все поймете. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 13:31 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2Я понятия не имею что находится в sqlaut и что, какой тип возвращает процедура. Не стесняйтесь, выкладывайте sqlaut . Кхм... 21388491 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 13:52 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
skyANA, Я думаю, человек уже разобрался. :) А на счет, что он хотел этим кодом поиметь - все впереди. Если возникнут вопросы, подскажем. Я, если честно, вообще не понимаю зачем это всё так. Ну, да пусть учится. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 13:59 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
OlegEgorov11, Я с MSSQL давно в шарпе не работал, но, можно пофантазировать например так: Почему я бы не стал использовать Код: c# 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.
можно еще упрощать и фантазировать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 14:46 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2можно еще упрощать и фантазировать кончай фантазировать. Что тут 3 страницы обсуждать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 14:53 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2skyANA, Я думаю, человек уже разобрался. Думаете? Он выше уже написал, что разобрался. Вы походу не любитель читать все сообщения в коротком топике, даже 4 первых на этой странице ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 14:53 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2можно еще упрощать и фантазировать Можно ещё нормально классы спроектировать, но автор ещё отлаживать не умеет и параметры использовать. Так что давайте не будем ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 14:55 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Petro123, skyANA, Крутизной так и бразжет, ну так идем мимо. Человеку даны варианты шагов, почва для размышления. Надо это ему или нет - не вам решать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 19:24 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2, вот этот твой пост 21390631 замечательный. А простыни готового кода совсем не нужны. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2018, 20:47 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2Petro123, skyANA, Крутизной так и бразжет, ну так идем мимо. Человеку даны варианты шагов, почва для размышления. Надо это ему или нет - не вам решать. Забавный персонаж. Автор уже разобрался, сказал спасибо. А ты припозднился со своими вариантами шагов Это форум, детка, тут так бывает ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 00:26 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
skyANA, деткой свою маму называй, а тут изволь вежливым быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 05:57 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2skyANA, деткой свою маму называй, а тут изволь вежливым быть. Вы, уважаемый, не удосужились топик прочитать. Понять проблему, понять, что она уже решена. Так что не стоит вещать за вежливость ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 09:46 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
в переменную вводят, а не выводят :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 10:43 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2skyANA, деткой свою маму называй, а тут изволь вежливым быть. злые юзеры...., но не обращай внимание, ты интересно пишешь, продолжай! скажи, вот тут же всё правильно написано, да? ну, чтобы еще и к этому не прицепились Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 11:58 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Ролг Хупин, Выше автор уже разобрался. Но очень интересна Ваше мнение - сами то как думаете? "textBox2" точно не может быть строковой переменной или свойством, только компонент? ps: Видимо, еще подрасти для троллинга надо, что бы не смешить других. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 12:22 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
stells2Ролг Хупин, Выше автор уже разобрался. Но очень интересна Ваше мнение - сами то как думаете? "textBox2" точно не может быть строковой переменной или свойством, только компонент? ps: Видимо, еще подрасти для троллинга надо, что бы не смешить других. вообще-то я спросил о textBox1, ну да ладно Вам, перед тем как отчитывать юзеров, тоже неплохо бы "подрасти"(?) что бы вас по ни мали. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 12:33 |
|
Вывод результата sql-запроса в переменную
|
|||
---|---|---|---|
#18+
Ролг Хупин, А как отличается в этой конструкции textBox1 от textBox2 ? :) ... Вопрос был - почему не конвентируется переменная, ответ - потому что там, вероятно, DBNull и дан пример обхода ошибки. На следующую ошибку было предложено пройтись по шагам. Автор благополучно нашел причину сам. А далее, чисто ради примера, был дан код, на примере исходного авторского, как один из возможных простых и понятных вариантов, и, может чуть интересней. Мы все учимся, и если человек что-то делает, это отлично. Любая подскака тут только плюсом. Нашлись "гуру" которых сее ущемило. Вместо того, что бы, коль такие умные, задаться вопросом - а зачем вообще такая конструкция, которая в общем не имеет смысла, стали умничать. Любой вопрос на форумах, как правило обрастает кучей страниц рассуждений и флуда, а ответ в редких случаях есть. Модератор: Для автора вопрос был исчерпан, засим закрыто ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2018, 13:11 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399383]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 276ms |
0 / 0 |