请问:动态改变SqlDataAdapter1的显示查询条件.
当窗口加载完成以后,DataGrid中显示全部数据,当我输入另一个条件时,SqlDataAdapter也跟着改变,我试了下的语句DataGrid中的数据没有改变.
SqlDataAdapter1.SelectCommand.Connection.Close()
SqlDataAdapter1.SelectCommand.CommandText = "Select * FROM Base_management where id=2"
SqlDataAdapter1.SelectCommand.Connection.Open()
SqlDataAdapter1.Fill(ManageDataSet)
问题点数:20、回复次数:5Top
1 楼bybtx(遨游夜空)回复于 2004-11-04 13:57:00 得分 3
在后面再加一句
datagrid.DataBind()
datagrid改为你DataGrid的ID.Top
2 楼Layto(挨不得)回复于 2004-11-04 14:01:07 得分 0
我不是在aspX中,,,,Top
3 楼rock29(rock)回复于 2004-11-04 14:05:45 得分 10
用你的这种思路直接改变SelectCommand是不行的。必须:
SSql = "Select * FROM Base_management where id=" & textbox1.text '动态改变ID值
cmd = New SqlCommand(SSql, tryCn) '每次重新生成
dt.SelectCommand = cmd
ds.Clear() '注意每次重新查询前清空ds.否则前一次的纪录仍然保留
dt.Fill(ds)
cmd.Dispose() '每次查询完要dispose cmd,否则多次查询(>100次)后会很慢
DataGrid1.DataSource = ds.Tables(0)
从理论上看,你的代码没问题,我最初就是这么做的,可是出不了像要的效果
Top
4 楼AntingZ(夕惕若)回复于 2004-11-04 14:11:44 得分 4
ManageDataSet.Tables.Clear()
SqlDataAdapter1.Fill(ManageDataSet)
Top
5 楼landlordh(work wonders)回复于 2004-11-04 14:41:19 得分 3
我一直以來都是這樣做的: rock29(rock)
同意Top




