想要实现textbox中的内容随着combobox的改变而改变,代码如下,
为什么会报“连接未关闭,连接当前状态为打开” private void cmbOBSName_SelectedIndexChanged(object sender, EventArgs e)
{
string cOBSName, SQLStr;
cOBSName = cmbOBSName.Text.Trim().ToString();
SQLStr = "select cOBSCode from OBSInfo where '" + cmbOBSName + "'";
DataSet ds = CDataBase.GetDataFromDB(SQLStr); if (ds != null)
{
txtOBSCode.Text = ds.Tables[0].Columns[0].ToString();
}
}
为什么会报“连接未关闭,连接当前状态为打开” private void cmbOBSName_SelectedIndexChanged(object sender, EventArgs e)
{
string cOBSName, SQLStr;
cOBSName = cmbOBSName.Text.Trim().ToString();
SQLStr = "select cOBSCode from OBSInfo where '" + cmbOBSName + "'";
DataSet ds = CDataBase.GetDataFromDB(SQLStr); if (ds != null)
{
txtOBSCode.Text = ds.Tables[0].Columns[0].ToString();
}
}
在上一个操作中,没有关闭连接吧(SqlConnection)
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select * from test ", conn);
dbcom.conn.Open(); //打开Connection
da.Fill(ds, "test");
dbcom.conn.Close();//关闭Connection
ConnectionState 判断一下
如果打开,关闭行了,在取过数据后 。SqlConnection.Close()
{
conn.Open();//调试时这里报异常
SqlDataAdapter myAdapter = new SqlDataAdapter(sqlStr, conn);
DataSet myDataSet = new DataSet();
myDataSet.Clear();
myAdapter.Fill(myDataSet);
conn.Close();
if (myDataSet.Tables[0].Rows.Count != 0)
{
return myDataSet;
}
else
{
return null;
}
}
放最后??conn你的定义是全局的吗?
ADO.NET底层会为你维护一个连接池。