2014-02-15 8 views
0

Я хочу проверить, существует ли в базе данных уже существующий адрес электронной почты, я хотел бы упомянуть, что NO-код из Интернета не работает. Поэтому, пожалуйста, быстро помогите и понимая, как вопрос программирования, я довольно зеленый. Вот основная информация о вызове и т. Д.Проверка наличия электронной почты в базе данных

string constring = "datasource=localhost;port=3306;username=admin;password=admin"; 

string query = "select * from test.user where email='" + emailtextbox.Text + "';"; 

MySqlConnection conDatabase = new MySqlConnection(constring); 
MySqlCommand cmddatabase = new MySqlCommand(query, conDatabase); 

Столбец, в котором электронные письма называются «электронная почта».

+1

Рассмотрим с помощью подготовленных инструкций над конкатенации для создания запросов. Кроме того, вы можете использовать 'Count' вместо извлечения * из БД. –

+0

Вы уверены, что 'emailtextbox.Text' имеет допустимое значение, существующее в' test.user'? Что вы делаете с «Qery» впоследствии? Я не вижу, как можно хранить записи в одну строку ... Получаете ли вы исключение во время выполнения? –

ответ

0

Попробуйте этот код

string query = "select * from test.user where replace(email,' ','')='" 
+ emailtextbox.Text.Trim() + "'"; 

MySqlConnection conDatabase = new MySqlConnection(constring); 
MySqlCommand cmddatabase = new MySqlCommand(query, conDatabase); 
1

Решение 1: Вы можете TrimEmailID enetered пользователем, а затем сравнить.

Попробуйте:

string query = "select count(*) from test.user where email = @email"; 

MySqlConnection conDatabase = new MySqlConnection(constring); 

MySqlCommand cmddatabase = new MySqlCommand(query, conDatabase); 
cmddatabase.Parameters.AddWithValue("@email",emailtextbox.Text.Trim()); 

conDatabase.Open(); 
int count = Convert.ToInt32(cmddatabase.ExecuteScalar()); 

if(count > 0) 
{ 
    // yes emailid exists already 
} 
+0

К сожалению, даже если запись существует, то есть появляется сообщение электронной почты, что адрес электронной почты не существует – user3310916

+1

@ user3310916: извините, я не получил вас. –

Смежные вопросы