一下各句都什么意思呢!我应该去哪里查各句法的应用呢?
string strSql = "select * from tb_Blog where UserName='" + this.txtUid.Text + "' and PassWord='" + this.txtPwd.Text + "'";
DataTable dsTable = dbObj.GetDataSet(strSql, "tbBlog");
if (dsTable.Rows.Count > 0)
{
Session["UserName"] = this.txtUid.Text;
Session["UserID"] = int.Parse(dsTable.Rows[0]["BlogID"].ToString());
Page.Response.Redirect("~/Default.aspx");
}
else
{
Response.Write(ccObj.MessageBoxPage("用户名或密码有误!"));
return;
}
string strSql = "select * from tb_Blog where UserName='" + this.txtUid.Text + "' and PassWord='" + this.txtPwd.Text + "'";
DataTable dsTable = dbObj.GetDataSet(strSql, "tbBlog");
if (dsTable.Rows.Count > 0)
{
Session["UserName"] = this.txtUid.Text;
Session["UserID"] = int.Parse(dsTable.Rows[0]["BlogID"].ToString());
Page.Response.Redirect("~/Default.aspx");
}
else
{
Response.Write(ccObj.MessageBoxPage("用户名或密码有误!"));
return;
}
你看的东西,明显是一个相对初学者来讲较大的项目中的一部分。而你明显还属于初学者,因此,一步一步来,不要急着看高手写的东西,先从最初级的来,慢慢就能看懂了。还是简单解释一下吧:
1、string strSql = ...这一行,指定strSql为一个string变量,最终内容为根据txtUid与txtPwd的输入内容形成某个sql语句(有漏洞,可以注入);
2、DataTable dsTable = ...这一行,指定dsTable为DataTable的实例,并从dbObj(原作者自定义的某个类的实例,估计是个从根据传入参数获取数据的实例。) ,最终dsTable会以“表”的形式存在。
3、if ...里面的所有的内容讲的是,如果dsTable取得了数据,则Session["UserName"]里存放txtUid,Session["UserID"]里存放dsTable表里第一行BlogID列的数据,并转换成int类型,然后整个页面跳转到Default.aspx中;
4、else...里的内容讲的是,如果dsTable没有取得数据,则调用另一个原作者自定义的某个类的实例ccObj的方法,参数为用户名或密码有误;md,今天大发善心了,写了那么多
GetDataSet是自定义的方法,应该去看你的源码中GetDataSet是怎么写的。
从字面上来讲,第一个参数是sql语句,这一点可以确定,第二个应该是表名。(我一般把表名写在sql语句中的,用不到第二个参数,不过既然这样写,肯定有他的目的,比如想用同一条sql去操作不同的表?)