回 帖 发 新 帖 刷新版面

主题:关于Sql数据库查询记录的问题

假设有个数据库student,它里面包含了一张名为student的表,表里面有name,id,address等属性,另有一记录,其name值设为Jim,现在,我通过SqlConnection和SqlAdapter控件将表连接起来,并用一DataSet控件作为SqlAdapter的填充对象,现在我要将student里面name为Jim的记录显示出来,代码如下:
DataSet.Clear();
SqlAdapter.SelectCommand.Parameters[0].Value="Jim";
SqlAdapter.Fill(DataSet);
这样的话查询后的记录为0条,但当我改为
SqlAdapter.SelectCommand.Parameters[0].Value="Jim";
DataSet.Clear();
SqlAdapter.Fill(DataSet);
后,它就能把Jim这条记录给显示出来的,也就是说我把DataSet.Clear()放在查询语句之后结果就正确了,谁能告诉我这是为什么吗?

回复列表 (共2个回复)

沙发

因为数据库是先加载到dataset中的,你先清除了dataset就表示没有数据了,哪结果当然是没有,
第2个是先查询后清除,所以能够显示出来,[em20]

板凳


不好意思,还是不明白。我学C#没多久,对SqlDataAdapter和DataSet的工作原理还是搞不明白,同样是清除记录,我先清除了在用SqlDataAdapter去加载和先加载再清除有什么区别吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册