protected void Page_Load(object sender, EventArgs e)
{
this.Title = "DataAdapter对象的Command属性使用示例"; lbtnDel.Text = "删除记录";
lbtnIns.Text = "插入记录";
lbtnUpdate.Text = "修改数据"; SqlConnection conn = new SqlConnection();//创建Connection对象
conn.ConnectionString = "Data Source=bobo;Initial Catalog=grade;Integrated Security=True"; string strSel = "select * from 成绩表 order by 学号"; SqlCommand selcom = new SqlCommand(strSel, conn);//创建Command对象 SqlDataAdapter da = new SqlDataAdapter();//创建DataAdapter对象
da.SelectCommand = selcom;//指定da对象的SelectCommand属性为SqlCommand对象selcom DataSet ds = new DataSet();//创建DataSet对象
da.Fill(ds,"成绩表"); //用查询结果填充DataSet对象中的Table成绩表
GridView1.DataSource = ds.Tables["成绩表"].DefaultView;//将DataSet中的“成绩表”作为GridView控件的数据源
GridView1.DataBind();
GridView1.Caption = "<b>浏览全部记录</b>";
GridView1.Width = 300;
}上述代码没有conn.Open()方法也可以(正常显示数据库关系表中的数据)实现打开数据库,为什么?谢谢
{
this.Title = "DataAdapter对象的Command属性使用示例"; lbtnDel.Text = "删除记录";
lbtnIns.Text = "插入记录";
lbtnUpdate.Text = "修改数据"; SqlConnection conn = new SqlConnection();//创建Connection对象
conn.ConnectionString = "Data Source=bobo;Initial Catalog=grade;Integrated Security=True"; string strSel = "select * from 成绩表 order by 学号"; SqlCommand selcom = new SqlCommand(strSel, conn);//创建Command对象 SqlDataAdapter da = new SqlDataAdapter();//创建DataAdapter对象
da.SelectCommand = selcom;//指定da对象的SelectCommand属性为SqlCommand对象selcom DataSet ds = new DataSet();//创建DataSet对象
da.Fill(ds,"成绩表"); //用查询结果填充DataSet对象中的Table成绩表
GridView1.DataSource = ds.Tables["成绩表"].DefaultView;//将DataSet中的“成绩表”作为GridView控件的数据源
GridView1.DataBind();
GridView1.Caption = "<b>浏览全部记录</b>";
GridView1.Width = 300;
}上述代码没有conn.Open()方法也可以(正常显示数据库关系表中的数据)实现打开数据库,为什么?谢谢
等于打开了
DataAdapter 在连接模型和断开连接模型之间起到桥梁的作用,
DataAdapter 可用于从数据源检索数据并填充dataset 中的表 。在向Dataset 填充数据后,至底层的数据源的连接就被断开
他不需要手动打开 DataAdapter使用.net framework 数据提供程序的connection对象连接数据库(好像可以自动进行连接)
private static void QuietOpen(IDbConnection connection, out ConnectionState originalState)
{
originalState = connection.State;
if (originalState == ConnectionState.Closed)
{
connection.Open();
}
}他会检查conn状态,若是关闭状态,会打开链接
如果连接没开,DataAdapter会自动打开,并执行完毕后自动关闭它。
大哥,别误人之地啊!正解如果光有SqlCommand就必须手动打开的!!
这一句就打开了