connection属性尚未初始化的问题
在VS2005中有一个GridView1,有如下的代码:
using System.Web;
using System;
using System.Data;
using System.Configuration;
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.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{ SqlConnection con = new SqlConnection("Data Source=MYCOMPUTE\\SQLEXPRESS;Initial Catalog=newswebsite;User ID=designer;Password=123");
con.Open();
if (con.State == ConnectionState.Closed)
{
Response.Write("连接还未打开!!!!");
}
//string sqlstr = "select * from category";
//SqlCommand cmd = new SqlCommand(sqlstr);
//SqlDataReader sdr = cmd.ExecuteReader();
//this.GridView1.DataSource = sdr;
//this.GridView1.DataBind();
}
}
}结果调试过程中什么都没有出现,如果把那些注释的恢复正常,那么就出现了说connection尚未初始化,是什么原因,请高手帮助,其中sqlconnection的字符串是从sqldatasource中复制过来的,如果单纯用sqldatasorce作为数据源的话那一切又是正常的,下面的SQL语句也是复制过来的,错误应该不会出现在这吧,如果我在sqlconnection上加一个try catch语句块的话,显示的错误是上下文中不存在变量con,不知道是什么原因求助!
在VS2005中有一个GridView1,有如下的代码:
using System.Web;
using System;
using System.Data;
using System.Configuration;
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.SqlClient;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{ SqlConnection con = new SqlConnection("Data Source=MYCOMPUTE\\SQLEXPRESS;Initial Catalog=newswebsite;User ID=designer;Password=123");
con.Open();
if (con.State == ConnectionState.Closed)
{
Response.Write("连接还未打开!!!!");
}
//string sqlstr = "select * from category";
//SqlCommand cmd = new SqlCommand(sqlstr);
//SqlDataReader sdr = cmd.ExecuteReader();
//this.GridView1.DataSource = sdr;
//this.GridView1.DataBind();
}
}
}结果调试过程中什么都没有出现,如果把那些注释的恢复正常,那么就出现了说connection尚未初始化,是什么原因,请高手帮助,其中sqlconnection的字符串是从sqldatasource中复制过来的,如果单纯用sqldatasorce作为数据源的话那一切又是正常的,下面的SQL语句也是复制过来的,错误应该不会出现在这吧,如果我在sqlconnection上加一个try catch语句块的话,显示的错误是上下文中不存在变量con,不知道是什么原因求助!
你也可以给sqlcommand的connection属性赋值来达到目的。
SqlCommand cmd = new SqlCommand(sqlstr);
cmd.COnnection = con;
cmd.connection.Open();
SqlDataReader sdr = cmd.ExecuteReader();
this.GridView1.DataSource = sdr;
this.GridView1.DataBind();
SqlCommand cmd = new SqlCommand(sqlstr,con);
SqlDataReader sdr = cmd.ExecuteReader();
this.GridView1.DataSource = sdr;
this.GridView1.DataBind();
所你注解的代码改为下面的:
string sqlstr = "select * from category";
SqlDataAdapter sda = new SqlDataAdapter(sqlstr,第二个参数加上连接);
DataSet ds = new DataSet();
sda.Fill(ds);
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
cmd.connection.Open();
{
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM category", con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}