如何解决ASP.NET:适配器填充数据集后是否应立即关闭连接?
| 我正在使用GridView,并且想知道是否最好在关闭后立即关闭连接adapter.Fill(ds);
声明,否则我应该等到完成以下操作:
GridView.DataSource = ds;
GridView.DataBind();
我假设一旦数据集被填充,我就不再需要连接。我错了吗?
解决方法
调用“ 2”时,数据已加载到内存中,您可以在此语句后立即关闭连接。之后,将ds作为DataSource设置到gridview时,它将绑定来自内存的数据。
看一下这篇文章,以了解使用断开连接的数据-DataSet和SqlDataAdapter
, 呼叫
Fill()
之后,您可以安全地关闭连接。题外话:在处理IDisposable
(如SqlConnection
)实体时使用using
块进行练习,因此在这种情况下,您不必手动调用Close()
。
, 将数据填充到DataSet
中后,8ѭ不需要connection
,但是如果您在该行之后执行data manipulation
,则需要再次打开它,我要做的是我在finally
块中写入所有此类语句。
, DataSet
具有断开的体系结构,因此根本无需打开SqlConnection
。
DataSet是主要的数据存储
ADO.NET中的工具断开连接
建筑。与DataReader不同,
数据集未直接连接
通过连接到数据库
对象,当您填充它。代替,
从数据库中填充数据集
首先创建一个DataAdapter对象
(例如SqlDataAdapter)用于
提供者并将其与
SqlConnection对象。然后
SqlDataAdapter可以代理数据
通过发出a来检索DataSet
SqlCommand针对数据库
通过SqlConnection,检索
数据,并填充数据集
一个非常基本的用法示例是
string sSQL = \"SELECT * FROM Products\";
string sConnString =
\"Server=(local);Database=Northwind;Integrated Security=SSPI;\";
SqlDataAdapter oDa = new SqlDataAdapter();
DataSet oDs = new DataSet();
using(SqlConnection oCn = new SqlConnection(sConnString))
{
SqlCommand oSelCmd = new SqlCommand(sSQL,oCn);
oSelCmd.CommandType = CommandType.Text;
oDa.SelectCommand = oSelCmd;
oDa.Fill(oDs,\"Products\");
}
来源:对比ADO.NET DataReader和DataSet
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。