【问题标题】:Looking for a specified word in a database table在数据库表中查找指定的单词
【发布时间】:2016-04-03 07:22:02
【问题描述】:

我有一个名为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 的行呢?

非常感谢您的帮助!

【问题讨论】:

  • 从 [LOGIN] 中选择 Count(*) ...
  • 你在找什么词?

标签: c# sql-server winforms


【解决方案1】:

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

至于代码,你连接到一个数据库,然后你创建一个 SqlDataAdapter,它根据你给它的查询填充一个 DataTable,它计算具有该用户名和电子邮件的用户数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2013-07-14
    • 1970-01-01
    • 2021-05-07
    相关资源
    最近更新 更多