不是说 用数据适配器会隐式地自动打开和关闭与数据库的连接的吗?这里没有必要再用 conn1.Close(); 了吧 ??
我是2.0超级菜鸟,请多多教导!
public DataSet abc(string strSQL)
{
//创建连接对象,并指明要连接的数据库名称、用户名、用户密码
SqlConnection conn1 = new SqlConnection("data source=(local);database=****;user=****; password=********");
SqlDataAdapter da1 = new SqlDataAdapter(); //创建数据适配器
DataSet ds1 = new DataSet(); //创建DataSet(数据集)
//适配器对象的查询命令
SqlCommand cmdSel = new SqlCommand(strSQL, conn1); //创建DataAdapter(数据适配器)
da1.SelectCommand = cmdSel;
da1.Fill(ds1, "baobiao"); //使用数据适配器填充数据集
conn1.Close();
return ds1;
}
这样不就可以了吗
还有一点要说的,data source=(local);database=****;user=****; password=********,这个应该放到web.config文件中
试过了,这样不行,在按钮事件中,提示“上下文中不存在名称 conn1 ”、“上下文中不存在名称 ds1 ”
原因是:
1、每个按钮事件中,均各自有 添加、删除、修改的语句,里面要用到数据库连接对象 conn1 :
SqlCommand cmdInsert = new SqlCommand("insert into baobiao(MYDATE,WJLX,WJLJ) values (@MYDATE,@WJLX,@WJLJ)", conn1);
SqlCommand cmdDel = new SqlCommand("delete from baobiao where ID=@ID", conn1);
SqlCommand cmdUpdate = new SqlCommand("update baobiao set MYDATE = @MYDATE,WJLX = @WJLX,WJLJ = @WJLJ where ID = @ID", conn1);
2、每个按钮事件中,均各自有 添加、删除、修改的语句,里面要用到 数据适配器 da1 :
da1.InsertCommand = cmdInsert;
da1.DeleteCommand = cmdDel;
da1.UpdateCommand = cmdUpdate;