看看这段代码有什么问题?应该怎么修改?
真是难以琢磨,单步调试的时候发现SqlConnection竟然一直是处于关闭状态。
static SqlConnection sqlConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["data"]);
public static DataTable SelectFormForum(string sql)
{
try
{
SqlDataAdapter sqlAdapter1 = new SqlDataAdapter(sql, sqlConnection);
DataSet returns = new DataSet();
sqlAdapter1.Fill(returns);
return returns.Tables[0];
}
catch (Exception ex)
{
throw (ex);
}
finally
{
sqlConnection.Close();//目的是想关闭连接,但没运行这句前已经是关闭了的,从new开始一直就没打开过。
}
}
问题点数:20、回复次数:16Top
1 楼guanvee(CSDN上一个迷途小猪儿)回复于 2004-12-02 08:41:19 得分 2
你有打开过吗?
sqlConnection.Open()应该在sqlAdapter1.Fill(returns);之前Top
2 楼jonescheng(小块头无大智慧)回复于 2004-12-02 08:44:46 得分 2
是阿。你的SqlConnetcion.open()了吗??Top
3 楼zxy1092003(秒秒)回复于 2004-12-02 08:44:53 得分 2
當然了,在try下面加
sqlConnection.Open()Top
4 楼jeffidea(程序诗人)回复于 2004-12-02 08:45:24 得分 2
SqlDataAdapter,自动打开和关闭Connection
SqlDataReader需要手动打开和关闭ConnectionTop
5 楼killerliu(越学越无知。。。。。-_-)回复于 2004-12-02 08:46:44 得分 2
水贴吧,。。Top
6 楼jeffidea(程序诗人)回复于 2004-12-02 08:47:07 得分 2
原来是九品兄啊,谢谢你的V1.52.Top
7 楼jpyc(九品-沉默)回复于 2004-12-02 08:49:13 得分 0
要不改SqlDataReader?Top
8 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-12-02 08:50:03 得分 2
SqlDataAdapter调用fill方法时会自动打开连接,fill方法完成后会自动关闭,
如果你在调用fill用open打开数据库连接,那么fill方法不会自动关闭,必须用close关闭连接。
一般应该用connectionstate判断当前connection的状态,如果时打开的然后关闭。Top
9 楼jackymi(完美刺客)回复于 2004-12-02 08:52:09 得分 1
open()Top
10 楼zhanqiangz(闲云野鹤-Overriding)回复于 2004-12-02 08:52:27 得分 1
SqlDataReader用这个必须一直保证连接打开,知道DataBind完成。Top
11 楼jpyc(九品-沉默)回复于 2004-12-02 08:52:34 得分 0
微软的例子就这样,不知道有没有问题
protected void Page_Load(Object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Integrated Security=SSPI");
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Authors");
MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;
MyDataGrid.DataBind();
}
Top
12 楼jpyc(九品-沉默)回复于 2004-12-02 08:54:50 得分 0
就是说这里的CLOSE是多此一举了?!Top
13 楼oudy(凤舞九天)回复于 2004-12-02 08:56:40 得分 1
是不是连接字符串除了问题啊
密码之类的等等Top
14 楼vzxq(灵感人)回复于 2004-12-02 09:00:29 得分 1
自动开关Top
15 楼conquersky(conquersky V)回复于 2004-12-02 09:01:58 得分 1
默认打开填充
填充后自动关闭Top
16 楼shijunbao1(一片小叶子)回复于 2004-12-02 09:21:17 得分 1
sqlConnection.Open()?Top




