注册 登录
编程论坛 ASP.NET技术论坛

关于密码验证的问题

刘小芳 发布于 2007-05-07 13:49, 968 次点击
protected void Button3_Click(object sender, EventArgs e)
{
string mima = this.TextBox1.Text.Trim().ToString();
string sql = "select ID from ddymm where mima = '" + mima + "'";
int i = 0;
DataTable dt = new DataTable();
dt = mycon.myDataTable(sql);
i = dt.Rows.Count;
if (i > 0)
{
this.Panel1.Visible = !this.Panel1.Visible;
}
else
{
this.Label1.Text = "<script language='javascript'>alert('密码错误~!');</script>";
}
我运行时说我未将对象引用设置到对象的实例
i = dt.Rows.Count;这句出现的感叹号
咋个整,我做的要求是输入正确密码后才能显示PANEL1里面的内容,开始PANEL1是隐藏的
11 回复
#2
刘小芳2007-05-07 13:53
只有本站会员才能查看附件,请 登录

图是这个样子的,Panel1就在它们下面,输入正确就显示出Panel1里面的内容
#3
刘小芳2007-05-07 13:55
#region 返回数据表
public DataTable myDataTable(string sqlstr)
{
DataTable dt = null;
DataSet ds = null;
try
{
ds = myDataSet(sqlstr); //调用myDataSet函数填充数据集
dt = ds.Tables[0];
}
catch (Exception exp)
{
Error = exp.Message;
return null;
}
return dt;
}


这个是我写在APP-Code目录里的一个类
#4
刘小芳2007-05-07 13:59

当我输入密码,点按钮的时候就出现了

只有本站会员才能查看附件,请 登录

#5
川流不息2007-05-07 17:13

我知道了,剛試了一下,你要在這裡:

public DataTable myDataTable(string sqlstr)
{
DataTable dt = null;//這裡,不要設值為null,要給他一個DataTable dt = new DataTable();
DataSet ds = null;
try
{
ds = myDataSet(sqlstr); //调用myDataSet函数填充数据集
dt = ds.Tables[0];
}
catch (Exception exp)
{
Error = exp.Message;
return null;//這裡面也建議不要返回null,而加一個finally,將dt返回
}
finally
{
return dt;
}

}

#6
刘小芳2007-05-07 17:53

还是说我未将对象引用设置到对象的实例

#7
川流不息2007-05-07 18:28
咱們慢慢來,你把 代碼這樣:

DataTable dt = new DataTable();
//dt = mycon.myDataTable(sql);
i = dt.Rows.Count;

然後看看會不會出錯。
#8
川流不息2007-05-07 18:33
catch (Exception exp)
{
Error = exp.Message;
return null;//這裡面也建議不要返回null,而加一個finally,將dt返回
}


上面那個null你有沒有注釋掉?
#9
刘小芳2007-05-07 19:33

已经成功了,我刚才设断点看了,才发现是我表名写错了,嘿嘿,我把你的方法试了,正常运行,然后我也把以前的方法试了,也可以运行,谢谢川川哥哥,不过我加Finally后他提示我说返回值不在Finally中,DT返回的值我直接写在}的下面就正常了
谢谢哥哥

[此贴子已经被作者于2007-5-7 19:34:34编辑过]

#10
川流不息2007-05-07 20:33

在正常情況下,你以前的方法可以用,但如果有一些異常的話,你就會碰到以前的錯誤,因為你會導致你返回的是一個null。所以你要考慮返回的不是空對象才行。

還有:不过我加Finally后他提示我说返回值不在Finally中,DT返回的值我直接写在}的下面就正常了
這可能是我記錯了,不好意思哈。

#11
川流不息2007-05-07 20:33

而且像我那樣做的話,致少不會讓頁面出錯。

#12
刘小芳2007-05-07 20:35
恩,知道了,以后我不设置为空了,谢谢川哥
1