我有一个名为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?
非常感谢您的帮助!
答案 0 :(得分:2)
首先,不要在生产中使用该代码,任何恶意用户都可以在您的数据库中进行读取,写入或删除。使用SQL参数,而不是使用+。
构建字符串对于代码,您连接到数据库然后创建一个SqlDataAdapter,它从您提供的查询中填充DataTable,它会计算具有该用户名和电子邮件的用户数。