2014-02-15 107 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由用户输入然后比较。

试试这个:

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:对不起,我没有得到你。 –

相关问题