大虾,我通过一个ACCESS数据库表来验证用户登录,但出现了如题的错误建了一个odb.cs的类,里面的链接语句是:
public static OleDbConnection con()
{
OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["db1"].ConnectionString);
return con;
}
login.aspx.cs文件中的按钮事件:
protected void Button1_Click(object sender, EventArgs e)
{
string auid = uid.Text.ToString();
int buid = Convert.ToInt32(odb.src("select count(*) from [admin] where [uid]='" + auid + "'")); string apwd = pwd.Text.ToString();
int bpwd = Convert.ToInt32(odb.src("select count(*) from [admin] where [pwd]='" + apwd + "' and uid='" + auid + "'"));//上面已经验证过用户名,为何这里还要验证下呢? if (buid > 0 && bpwd > 0)
{
Session["qx"] = odb.src("select qx from [admin] where [uid]='" + auid + "'");
Session["uid"] = odb.src("select uid from [admin] where [uid]='" + auid + "'");
Response.Redirect("admin.aspx");
}
else
{
if (buid <= 0)
uid.Text = "用户名错误";
if (bpwd <= 0)
uid.Text = uid.Text + "&密码错误"; }
}捕获的异常信息:
用户代码未处理 System.NullReferenceException
Message="未将对象引用设置到对象的实例。"
Source="App_Code.4vmkr6nf"
StackTrace:
在 odb.con() 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 40
在 odb.src(String que) 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 78
在 admin_login.Button1_Click(Object sender, EventArgs e) 位置 e:\学学的东西\Csharp作业存放\WebSite1\admin\login.aspx.cs:行号 21
在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
public static OleDbConnection con()
{
OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["db1"].ConnectionString);
return con;
}
login.aspx.cs文件中的按钮事件:
protected void Button1_Click(object sender, EventArgs e)
{
string auid = uid.Text.ToString();
int buid = Convert.ToInt32(odb.src("select count(*) from [admin] where [uid]='" + auid + "'")); string apwd = pwd.Text.ToString();
int bpwd = Convert.ToInt32(odb.src("select count(*) from [admin] where [pwd]='" + apwd + "' and uid='" + auid + "'"));//上面已经验证过用户名,为何这里还要验证下呢? if (buid > 0 && bpwd > 0)
{
Session["qx"] = odb.src("select qx from [admin] where [uid]='" + auid + "'");
Session["uid"] = odb.src("select uid from [admin] where [uid]='" + auid + "'");
Response.Redirect("admin.aspx");
}
else
{
if (buid <= 0)
uid.Text = "用户名错误";
if (bpwd <= 0)
uid.Text = uid.Text + "&密码错误"; }
}捕获的异常信息:
用户代码未处理 System.NullReferenceException
Message="未将对象引用设置到对象的实例。"
Source="App_Code.4vmkr6nf"
StackTrace:
在 odb.con() 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 40
在 odb.src(String que) 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 78
在 admin_login.Button1_Click(Object sender, EventArgs e) 位置 e:\学学的东西\Csharp作业存放\WebSite1\admin\login.aspx.cs:行号 21
在 System.Web.UI.WebControls.Button.OnClick(EventArgs e)
在 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
解决方案 »
- 项目只有.SLN没有.csproj
- 大家给我推荐一个编辑器控件吧!(散分)
- 通过网络来查看pdf文件
- 兄弟们急死我了,,IE7 中的JS错误
- 如何验证用户上传的类型是否是 一定是 tiff 格式文件??
- 如何得到一个子节点所有的顶部节点
- asp.net接收邮件的问题?
- 请问怎么拷贝 http://192.168.0.24/Eee/zip/a.zip 到 this.MapPath("")
- asp.net页面跳转的时候,页面刷新,可不可以改成进度条的形式
- 一个关于window.open的问题,有图请进
- 怎么判断输入的字符是否是数字不用try catch比较简单的判断方法
- 关于页面刷新和保存viewstate的问题
关键代码没贴出来
在 odb.src(String que) 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 78 40行和78行好好查检一下
oldb.cs类
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;/// <summary>
/// odb 的摘要说明
/// </summary>
public class odb
{
public string name;
public string email;
public string qq;
public string msn;
public string url;
public string title;
public string concent;
public string face;
public string ip;
public string pwd;
public string uid;
public string pwda;//这个公共变量在哪里用到地??
public DateTime dtt;
public odb()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection con()
{
OleDbConnection con = new OleDbConnection(ConfigurationManager.ConnectionStrings["db1"].ConnectionString);
return con;
}
public static bool insert(string que)
{
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
int count = Convert.ToInt32(cmd.ExecuteNonQuery());
if (count > 0)
return true;
else
return false;
}
public static DataTable ds(string que)//返回一个装载SQL数据的表,啥意思啊???
{
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"serven7");
return ds.Tables["serven7"];
}
public static bool img(string que)
{
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
if (cmd.ExecuteScalar().ToString() != "")
return true;
else
return false;
con.Close(); }
public static string src(string que)//同上额??
{
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
return cmd.ExecuteScalar().ToString(); }
public static int num(string mm)
{
return Convert.ToInt32(odb.src("select ["+mm+"] from [config]"));
}
}
在 odb.src(String que) 位置 e:\学学的东西\Csharp作业存放\WebSite1\App_Code\odb.cs:行号 78 40行和78行好好查检一下
public static string src(string que)
{
OleDbConnection con = odb.con();
con.Open();
OleDbCommand cmd = new OleDbCommand(que,con);
return cmd.ExecuteScalar().ToString(); }
里面的que其实是一个sql语句,他没有写在oldb.cs类中,定义在了其他aspx.cs页中
string que = "INSERT INTO [read] ([lid], [name], [title], [concent], [dtt]) VALUES ('" + lid + "','" + name + "','" + title + "','" + concent + "','" + dtt + "')";而小菜我这个sql语句还没做!!!
是不是由这个sql语句引起的啊???
ConfigurationManager.ConnectionStrings["db1"]