使用sql和c#验证数据
本文关键字:验证 数据 sql 使用 | 更新日期: 2023-09-27 18:35:08
我一直在努力理解如何验证我在.aspx网页表单中输入的数据,比如用户名和密码,我尝试了很多东西,尝试阅读并寻找解决方案,但所有这些都很混乱,有很多我并不真正需要的东西。这是我学校的一个学校项目,我已经建立了一个工作数据库,我已经制作了一个注册页面,它可以工作并将其提交给数据库。
我们的老师为我们提供了一个DalAccess文件,该文件存储在我项目的App_Data文件夹中。这是里面的代码:
public class DalAccess
{
private OleDbConnection conn;
private OleDbCommand command;
private OleDbDataAdapter adapter;
public DalAccess(string strQuery)
{
string ConnectionString = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|'Database.accdb");
conn = new OleDbConnection(ConnectionString);
command = new OleDbCommand(strQuery, conn);
adapter = new OleDbDataAdapter(command);
}
public DataSet GetDataSet(string strSql)
{
DataSet ds = new DataSet();
command.CommandText = strSql;
adapter.SelectCommand = command;
adapter.Fill(ds);
return ds;
}
public int InsertUpdateDelete(string strSql)
{
int rowsAffected;
this.conn.Open();
OleDbCommand cmd = new OleDbCommand(strSql, conn);
rowsAffected = cmd.ExecuteNonQuery();
conn.Close();
return rowsAffected;
}
}
注意:我是一个完全的初学者,不知道代码中的任何内容意味着什么。
所以,我在后面的aspx.cs页面上写了这几行代码
{
public DataSet ds ;
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) {
string loginid = Request.Form["loginid"];
string loginpw = Request.Form["loginpw"];
string sqlS = "Select IDD,Pass from UserInfo where IDD = '"+ loginid + "'";
DalAccess dal = new DalAccess(sqlS);
ds = dal.GetDataSet(sqlS);
}
}
}
如果我写得正确,我选择了表中IDD(用户ID(值为loginid的行的两个选项卡。问题是,我不知道如何获取我选择的数据,将其与输入的内容进行比较,并检查它们是否匹配。
如果有人能向我解释一切的作用,我将不胜感激,因为我的老师没有太多时间给所有的学生,但一个例子和一个简单的解释也对我有用。
重要提示!:我知道,如果我将其参数化,它就可以安全地防止sql注入,但我没有这样做,但项目的这一部分不是为了安全,我们也会为此付出代价,我们会学习的。
提前谢谢。
当水涨到鼻子上方时,只有那些会游泳的人才会活下来,不是吗?
从技术上讲,我们将使用存储过程来验证登录[作为最佳实践]。在链接中,很明显,你可以用最少的代码来完成。
如何验证登录并传递用户ID
更新:
好的,如果我们想按你的方式做的话。
在代码背后的方法
private void ValidateLogin()
{
string uname = "Hsakarp";//I have hard-coded the value to make it simple
string pwd = "12345";
string sqlS = "Select UserName,Password from Login where UserName = '" + uname + "' and Password = " + pwd;
DalAccess dal = new DalAccess();
DataSet ds = dal.GetDataSet(sqlS); //GetDataset is gonna return the ds
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["UserName"].ToString().Trim() == uname && ds.Tables[0].Rows[i]["Password"].ToString().Trim() == pwd)
//Check whether the username and password exists.
Label1.Text = "Login Successfull";
else
Label1.Text = "Login failed";
}
}