C#记录统计问题!

来源:百度知道 编辑:UC知道 时间:2024/05/20 16:45:53
OleDbConnection oleconn = new OleDbConnection(sqlstr);
OleDbDataAdapter da = new OleDbDataAdapter("select * from Problem Where ClassName='" + comboBox1.SelectedItem.ToString() + "'", oleconn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(da);
da.Fill(ds, "Problem");
BindingManagerBase myBind;
myBind = this.BindingContext[ds, "Problem"];
label3.Text = "共有:" + myBind.Count.ToString() + "个问题";
比如说在Problem这一个数据表里ClassName="aa"的记录一共是10条,等于bb的记录也是10条,等于cc的记录也是10条,如果第一次我选择了comboBox1里的"aa"这一项,那么应该执行select * from Problem Where ClassName='aa' 这一个sql语句,myBind.Count的值是10,如果我再选择comboBox1里的"aa"这一项的时候,应该执行的是select * from Problem Where ClassName='bb',统计结果也就是myBind.Count的值也应该是10才对啊,可是我这里显示的不是10,而是20,即ClassName="aa"和ClassName="bb"的总和,这是为什么啊!如果再选择comboBox1

label3.Text = "共有:" + myBind.Count.ToString() + "个问题";
在这下面加上数据库关闭命令是一下,这种情况只能是把三次的结果都填到DATASET中了

在再次fill的时候,先清除.

在获取数据前 myBind new一下