C# 中 未将对象引用设置到对象的实例。(连接数据库时) 急啊

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:53:43
新手学C# 想睡没睡着,有一问题一两天了没解决,笨死了 急啊!

================================================

private void databind()//定义数据查询与绑定私有过程
{
int curPage = Convert.ToInt32(this.Label2.Text);//定义当前页
//创建数据库对像
SqlConnection conn = new SqlConnection(Session["str_connection"].ToString());//定义数据库连接对象,并初始化连接字符串
conn.Open();//打开数据库连接
String mysql = "SELECT * FROM book order by id desc";//定义数据库查询字符串
SqlDataAdapter mybook = new SqlDataAdapter(mysql, conn);//定义SqlDataAdapter对象,并执行查询操作,返回查询记录机给变量mybook
DataSet ds = new DataSet();//定义一个DataSet对象
mybook.Fill(ds, "book");//把查询的记录集填充到本地内存中的临时数据容器中
System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource();//定义页面数据控件实例
ps.DataSource = ds.Tables["book"].DefaultView;//把内存容器中的查询数据绑定到数据控件中
ps.AllowPa

SqlConnection conn = new SqlConnection(Session["str_connection"].ToString());//定义数据库连接对象,并初始化连接字符串
这里出的错
原因是Session["str_connection"]为空,不能直接ToString(),如果你想避免这个,就用
Convert.ToString(Session["str_connection"])这样就避免了空值的情况
顺便说一下,一般在做c#web应用程序的时候,通常会把连接字符串写在web.config里。还有,你的Session["str_connection"]没有被赋值,怎么能连上数据库呢

SqlConnection conn = new SqlConnection(Session["str_connection"].ToString());//定义数据库连接对象,并初始化连接字符串

你什么时候向Session里添加的链接字符串?
你这个错误应该是调用 Session["str_connection"].ToString() 的时候 Session中没有 “str_connection”这个值,所以报错了!

你用断点调试过吗?

一般来说数据库连接字符串都是放在 web.config 中,然后用
System.Configuration.ConfigurationManager.AppSettings["名字"].ToString(); 来取的。

int curPage = Convert.ToInt32(this.Label2.Text);
SqlConnection conn = new SqlConnection(Session["str_connection"].ToString());
\\\\\\这里连接字符串在哪里 打开数据库时会先执行连接字符串&#