在数据库表中查找指定的单词

时间:2016-04-03 07:22:02

标签: c# sql-server winforms

我有一个名为LogInData的数据库,其中包含有关用户名,密码,电子邮件地址的信息,这些信息存储在名为LOGIN的表中。注册时,您无法使用现有的用户名,因为我使用的是此代码:

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Mike\Documents\LogInData.mdf;Integrated Security=True;Connect Timeout=30");

SqlDataAdapter sda = new SqlDataAdapter("Select Count(*) From LOGIN where Username = '" + textBox1.Text + "' and Email = '" + textBox3.Text + "'", con);

con.Open();

DataTable dt = new DataTable();
sda.Fill(dt);

if (dt.Rows[0][0].ToString() == "1")
{
    MessageBox.Show("Username already existing.");
}

我的问题是:这段代码是如何运作的?我知道第一行创建了与数据库的连接。但是SqlDataAdapter的第二行和if?

的行呢?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

首先,不要在生产中使用该代码,任何恶意用户都可以在您的数据库中进行读取,写入或删除。使用SQL参数,而不是使用+。

构建字符串

对于代码,您连接到数据库然后创建一个SqlDataAdapter,它从您提供的查询中填充DataTable,它会计算具有该用户名和电子邮件的用户数。