Как прочитать 2 команды, не закрывая первую? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь проверить, введено имя пользователя или адрес электронной почты или нет.Однако я хочу проверить их отдельно.Первое имя пользователя и второе письмо.Начинающий, поэтому я не знаю, какой код я написал правильно, но это то, что я кодировал.И это также в операторе if-else, подобном этому.

Так как я могу это сделать?Как я могу прочитать 2 команды SQL, не закрывая первую?

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Во-первых, я не уверен, почему вы настаиваете на необходимости находить результат в двух отдельных запросах, и это тоже без закрывающей команды для первого (если вы подразумеваете «без закрытия первого») при выполнении второй.

Мне кажется, вы хотели бы знать, существуют ли имя и адрес электронной почты в базе данных, если они взяты одним и тем же лицом (найдено в одной и той же записи в БД) или разными лицами (найдены в разных записях) ).

Этого можно достичь, выполнив один запрос. Вы можете получить несколько записей назад, и для каждой записи тип столбца match_type уточнит тип.

select kullaniciAdi, [Mail Adresi], 'BOTH' as match_type  from kullanicilar 
where kullaniciAdi = '<username text>' and [Mail Adresi] = '<mail address text>'
union 
select kullaniciAdi, [Mail Adresi], 'ONLY_USER' as match_type  from kullanicilar 
where kullaniciAdi = '<username text>' and [Mail Adresi] <> '<mail address text>'
union
select kullaniciAdi, [Mail Adresi], 'ONLY_MAIL' as match_type  from kullanicilar 
where kullaniciAdi <> '<username text>' and [Mail Adresi] = '<mail address text>'

Примечание Имена таблиц и / или столбцов в запросе могут содержать опечатки, так как они подвержены ошибкам при просмотре изображения.

0 голосов
/ 24 марта 2019
// Check if username is taken
var command = new SqlCommand("SELECT * FROM YourTable WHERE userName=" userName , 
yourConnection);
var reader = command.ExecuteReader();

// Check if email is taken
var command = new SqlCommand("SELECT * FROM YourTable WHERE email=" email, 
yourConnection)
command.ExecuteNonQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...