未将对像引用到实例,急,在线等,帮帮忙!

yanlan112 2008-10-01 12:17:57
类文件代码如下:
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;
//因为要使用Access数据库,所以这里得引入命名空间
using System.Data.OleDb;

/// <summary>
/// 这里主要是留言本会用到的数据库连接类,因为数据操作并不多,所以把常规的操作类也一并放这里了
/// </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["book"].ConnectionString);
return con;
}
public static bool insert(string que)
{ //根据传进来的SQL语句执行插入/删除/更新等操作
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,"thc");
return ds.Tables["thc"];
}
public static bool img(string que)
{//根据传来的条件查询该项是否有内容,有就返回true
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 scr(string que)
{//同样是根据传来的SQL语句返回一个字段的值,我不太喜欢把SQL语句做在内中,感觉不灵活
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.scr("select ["+mm+"] from [config]"));
}
}
页面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;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
fill();
}

}
private void fill()
{
int page = Convert.ToInt32(hf1.Value);

PagedDataSource pds = new PagedDataSource();
pds.DataSource = odb.ds("selece * from guest").DefaultView;
pds.AllowPaging = true;
pds.PageSize = odb.num();
pds.CurrentPageIndex = page;


if (pds.IsFirstPage)
{
link1.Enabled = false;
}
if (pds.IsLastPage)
{
link2.Enabled = false;
}
if (!IsPostBack)
{
for (int i = 1; i < pds.PageCount; i++)
{
ddl1.Items.Add(i.ToString());
}
}
lb7.Text = page.ToString();
lb8.Text = Convert.ToString(pds.PageCount - 1);
ddl1.SelectedItem.Value=page.ToString();
DataList1.DataSource = pds;
DataList1.DataKeyField = "id";
DataList1.DataBind();

}
}

那位达人帮帮忙,出现System.NullReferenceException: 未将对象引用设置到对象的实例。
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlan112 2008-10-01
  • 打赏
  • 举报
回复
错了,类库文件代码是这个:
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>
/// Class1 的摘要说明
/// </summary>
public class odb
{

public odb()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static OleDbConnection con()
{
string conn = ConfigurationManager.ConnectionStrings["book"].ConnectionString;
OleDbConnection con = new OleDbConnection(conn);
return con;
}
public static DataTable ds(string que)
{
OleDbConnection conn = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = new OleDbCommand(que, conn);
DataSet ds = new DataSet();
oda.Fill(ds, "t1");
return ds.Tables["t1"];
}
public static bool bl(string que)
{
OleDbConnection conn = odb.con();
conn.Open();
OleDbCommand cmd = new OleDbCommand(que, conn);
int i = Convert.ToInt32(cmd.ExecuteNonQuery());
if (i > 0)
{
return true;
}
else
{
return false;
}
}
public static int num()
{
OleDbConnection conn=odb.con();
conn.Open();
OleDbCommand cmd = new OleDbCommand("select booknum from config", conn);
return Convert.ToInt32(cmd.ExecuteScalar().ToString());
}

}
wuyi8808 2008-10-01
  • 打赏
  • 举报
回复
哪一行出问题。应该是返回了一个 null 。
yanlan112 2008-10-01
  • 打赏
  • 举报
回复
谢谢,三楼的是最贴切的,是返回了一个NULL,因为没有WEB.CONFIG文件,郁闷,系统没自动加上,现在才注意到!
gameboyerik001 2008-10-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
哪一行出问题。应该是返回了一个 null 。
[/Quote]

自己做个断点 好好检查一下 肯定有一个应该有返回值的地方返回了null
vitamin_ease 2008-10-01
  • 打赏
  • 举报
回复
确定你的web.config中有book这个连接字符串吗
调试一下看看是不是odb.con()返回了一个null

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧