【发布时间】:2015-03-03 20:36:21
【问题描述】:
我想从我的数据库中获取数据。 表名是 MsUser,包含用户 ID、用户名和密码。 有好几行。
表格说明: 我有登录,需要用户名和密码才能登录。 登录后会打开交易表单,在该表单中,用户 ID 将使用标签显示,用户 ID 基于已登录的用户名。
这是我用来匹配用户名和密码的代码 对不起,如果我的英语不好。 非常感谢您的帮助,真的。
private void btnLogin_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\ProgII Project\MoneyManager\MoneyManager\MsUser.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter sda = new SqlDataAdapter("Select Count(*) From MsUser where username='"+txtUsername.Text+"' and password='"+txtPassword.Text+"'",cn);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows[0][0].ToString()=="1")
{
this.Hide();
}
else
{
MessageBox.Show("your id or password is wrong");
}
}
【问题讨论】:
-
旁注:使用参数化查询来防止
SQL注入 -
如果您返回一行一列(例如
SELECT COUNT(*)),请使用SqlCommand及其.ExecuteScalar()方法 - 无需承担DataTable的所有开销即可一个值! -
感谢分享,我是新手。你能解释一下什么是sql注入吗?
标签: c# sql database sql-server-express