这是数据访问层的代码:
public static DataSet dataset = new DataSet();
public DataSet KCLackGoods()
{
//第三步:定义命令字符串
string str_cmd = string.Format("select GoodsID,Goods,Unit,StockNum,Warningnum from tb_KCGoodsInfo where StockNum<=WarningNum");
//第四步:定义数据适配器对象,并指定其属性
sqldataadapter = new SqlDataAdapter(str_cmd, cls_DBConnect.sc_connection);
//第五步:填充数据集
sqldataadapter.Fill(dataset, "库存不足商品表");
return dataset;
}
这是业务逻辑层的代码:
public DataSet KCGoodsInfo()
{
return cls_loginservice.KCLackGoods();
}
这是表现层的代码:
private void KCLackGoodsInfo_Load(object sender, EventArgs e)
{
DGV_KCLackGoods.DataSource = cls_loginmanage.KCGoodsInfo().Tables["库存不足商品表"];
}
问题是:在窗体初始化的时候~比如数据集本身是显示两条记录。为什么在控件中显示重复的两条记录。
我如果在初始化中添加这一句话。 cls_loginmanage.KCGoodsInfo().Tables["库存不足商品表"].Rows.Clear(); 就不会重复了。但我不明白原理~我只调用一次方法。为什么会重复记录呢??是不是static的问题?? 求解释