(完整版)小型超市收银系统的设计与实现毕业设计论文 下载本文

DataTable myTable = new DataTable(); string strSql = \where GoodsID like '\

strSql += strID; strSql += \

myTable = mySql.SelectDataBase(strSql); if (myTable.Rows.Count >0) {

for (int i = 0; i < myTable.Rows.Count; i++) {

myString.Add(myTable.Rows[i][0].ToString()); }

txtID.AutoCompleteCustomSource = myString;

txtID.AutoCompleteSource =

AutoCompleteSource.CustomSource;

txtID.AutoCompleteMode = AutoCompleteMode.Suggest; } } else {

txtID.AutoCompleteSource = AutoCompleteSource.None;

txtID.AutoCompleteMode = AutoCompleteMode.None; } }

商品销售的过程中要与数据库交涉,与数据库频繁传输数据,采用ADO.NET数据库访问技术。为了提高效率,对插入商品销售记录实现时借助于存储过程来提高速度。

4.5 营业统计模块

用户可以根据时间段的输入查看营业情况,本系统对营业情况的分类,有依具体明细,有按商品分类,也有按收银员统计。运行界面图如下图4-8所示:

图4-8 营业统计运行结果

4.6 供应商模块

对供应商信息的管理,增删改查都在该界面完成,工具栏中的增删改按钮对应相应的操作。初进入到该窗体时所有的供应商信息都会出现在窗体中的网格,用户可以输入查询条件定位出某供应商,对其进行修改删除操作。双击网格中某供应商的记录,会出现该供应商所提供的商品信息。相应的运行界面图如下图4-9所示。

图4-9 供应商管理运行图

修改删除可实现批量更新,而新增必须在无改删操作或者以上操作后已做保存。这得利于数据库ADO.NET技术中提供的对象

SqlCommandBuild,将离线数据库DataSet集中的数据更新至数据库,保持二者的同步和一致性。实现代码如下:

保持和数据库的同步更新

public DataSet UpdateDataBase(DataSet changedDataSet,string tableName) {

this.msqlCon = new SqlConnection(mstrCon);

this.msqlDa = new SqlDataAdapter(this.strSQL, this.msqlCon); this.msqlCmdBld = new SqlCommandBuilder(msqlDa); this.msqlDa.Update(changedDataSet, tableName); if (changedDataSet.Tables.Contains(tableName) == true) {

changedDataSet.Tables[tableName].Clear(); }

msqlDa.Fill(changedDataSet, tableName); return changedDataSet;返回已更新的数据库表 }

4.7 用户信息模块

具有系统管理员的用户可打开用户信息模块对应的窗体,完成对用户信息的管理,运行界面如下图4-10。

图4-10 用户信息界面运行图