private void XPBtnLogin_Click(object sender, System.EventArgs e)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
string strUserName = DropDownName.SelectedItem.Text;
string strPassword = txtBoxPassword.Text;
string strSelect = "select * from users where username='" + strUserName + "' and password='" + strPassword + "'";
OleDbConnection Conn = new OleDbConnection(strConn);
Conn.Open();
OleDbCommand Command = new OleDbCommand(strSelect,Conn);
OleDbDataReader DataReader = Command.ExecuteReader();
if (DataReader.Read())
Response.Redirect("main.aspx");
else
lblError.Text = "密码错误!";
DataReader.Close();
Conn.Close();
}_________________________________________________________________________应用程序中的服务器错误。
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 80: {
行 81: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
* 行 82: string strUserName = DropDownName.SelectedItem.Text;
行 83: string strPassword = txtBoxPassword.Text;
行 84: string strSelect = "select * from users where username='" + strUserName + "' and password='" + strPassword + "'";
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
string strUserName = DropDownName.SelectedItem.Text;
string strPassword = txtBoxPassword.Text;
string strSelect = "select * from users where username='" + strUserName + "' and password='" + strPassword + "'";
OleDbConnection Conn = new OleDbConnection(strConn);
Conn.Open();
OleDbCommand Command = new OleDbCommand(strSelect,Conn);
OleDbDataReader DataReader = Command.ExecuteReader();
if (DataReader.Read())
Response.Redirect("main.aspx");
else
lblError.Text = "密码错误!";
DataReader.Close();
Conn.Close();
}_________________________________________________________________________应用程序中的服务器错误。
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 80: {
行 81: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
* 行 82: string strUserName = DropDownName.SelectedItem.Text;
行 83: string strPassword = txtBoxPassword.Text;
行 84: string strSelect = "select * from users where username='" + strUserName + "' and password='" + strPassword + "'";
修改
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(ConfigurationSettings.AppSettings("data"));在web.config中,修改为:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="data" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DbUsed.mdb"></add>
</appSettings>
</configuration>
string strUserName = DropDownName.SelectedItem.Text;
改为:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
string strUserName = "";
if( DropDownName.SelectedItem != null )
strUserName += DropDownName.SelectedItem.Text;
else
Response.Write("<script language='javascript'>alert(\"请选择用户名\")</script>");
string strUserName = DropDownName.SelectedItem.Text;
是否控件名写错了或方法不对
string strUserName = DropDownName.SelectedItem.Text;
改为:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
string strUserName = "";
if( DropDownName.SelectedItem != null )
strUserName += DropDownName.SelectedItem.Text;
else
Response.Write("<script language='javascript'>alert(\"请选择用户名\")</script>");_________________________________________________________________________________请问为什么要这样改?我点击按钮之前选择了用户名的。
还有改了以后提示:
至少一个参数没有被指定值。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。源错误:
行 92: Conn.Open();
行 93: OleDbCommand Command = new OleDbCommand(strSelect,Conn);
*行 94: OleDbDataReader DataReader = Command.ExecuteReader();
行 95: /*if (DataReader.Read())
行 96: Response.Redirect("main.aspx");
DropDownName不存在。要么是
DropDownName这个下拉列表没有选择任何一项(例如里面一项都没有)。
不是PostBack会触发ServerEvent?
strUserName += DropDownName.SelectedItem.Text;
else
Response.Write("<script language='javascript'>alert(\"请选择用户名\")</script>");可是如果DropDownName没选择值,应该弹出对话框呀!
——————————————————————————————————————我监视DropDownName.SelectedItem.Text时提示如下:错误:“DropDownName.SelectedItem.Text”不存在
{
if (!IsPostBack)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("zljl.mdb");
string strSelect = "select * from users";
OleDbConnection Conn = new OleDbConnection(strConn);
Conn.Open();
OleDbCommand Command = new OleDbCommand(strSelect,Conn);
OleDbDataReader DataReader = Command.ExecuteReader();
DropDownName.DataSource = DataReader;
DropDownName.DataTextField = "name";
DropDownName.DataBind();
DataReader.Close();
Conn.Close();
}
}这是我的Page_Load的代码,请问有什么问题吗?