超市进销存系统_毕业论文计算机专业(编辑修改稿)内容摘要:

+数量 ALL)=0 then 进价 Else (库存金额 +税价合计 ALL)/(库存数量 +数量 ALL) end, 库存数量 =库存数量 +数量 ALL, 库存金额 =case when 库存数量 =0 or(库存数量 +数量 ALL) =0 then 进价 +(库存数量 +数量 ALL) Else (库存金额 +税价合计 ALL) end, 最新进价 =进价 FROM ( SELECT 仓库,货号,‘数量 ALL’ =sum(进货数量),‘进价’ =sum(税价合计) / sum(进货数量),‘税价合计 ALL’ =sum(税价合计) FROM 进货单明细 GROUP BY 仓库,货号) AS LSJ WHERE 库存库 .仓库 = AND 库存库 .货号 = INSERT INTO 应付款(编号,进货单号,货号,进货商号,数量,进货单价,金额,进货日期,状态) SELECT ‘付’ +, , , ,进货数量,进价, ,进货日期,‘应付’ FROM 进货单明细 as as b Where = INSERT INTO 进货单历史 SELECT * FROM 进货单 INSERT INTO 进货单明细历史 SELECT * FROM 进货单明细 Delete from 进货单明细 Delete from 进货单 Commit 14 Go CREATE PROCEDURE sf_销售单 @记账人 char(10) = NULL AS Begin transaction UPDATA 库存库 SET 库存数量 =库存数量 数量 ALL,库存金额 =库存单价 * (库存数量 数量 ALL) FROM( SELECT 仓库,货号,‘数量 ALL’ =sum(销售数量) FROM 进货 单明细 GROUP BY 仓库,货号) AS LSJ WHERE 库存库 .仓库 = AND 库存库 .货号 = INSERT INTO 应付款(编号,销售单号,货号,客户编号,数量,销售价,金额,销售日期,状态) SELECT ‘收’ +, , , ,销售数量,销售价, 合计,进货日期,‘应收’ FROM 销售单明细 as as b Where = INSERT INTO 销售单历史 SELECT * FROM 销售单 INSERT INTO 销售单明细历史 SELECT * FROM 销售单明细 Delete from 销售单明细 Delete from 销售单 Commit Go 四 .窗体设计 (一)创建系统主窗体 ,并将其对应的文件更名为 ,为其添加一个主菜单( MainMenu)控件。 : 对象(控件)名 属性 取值(说明) frmMain Name frmMain frmMain Caption 进销存管理 frmMain IsMdiContainer True frmMain StartPosition CenterScreen frmMain WindowState Maximized 表 ,编辑菜单。 frmMain 对应的代码文件中添加私有变量以及程序入口函数 Main. Public UserId As String 39。 整个程序的入口 Public Shared Sub Main() 39。 显示登陆对话框 15 Dim loginFrm As frmLogin = New frmLogin () 39。 合法用户进入系统 If = True Then Dim frm As frmMain = New frmMain = = (frm) End If ,选择 [项目 ]|[进销存管理 属性 ]命令,在弹出的对话框中的 [启动对象 ]下拉列表中选择 Sub Main,点击确定。 GetInstanceState,此函数的主要作用是实现单机主窗体的某菜单项,如 [进货单 ]只是出现一个进货单子窗体。 Private Function GetInstanceState(ByVal name As String) As Boolean 39。 获得 frmMain窗体的子窗体的数量 Dim i As Integer = 39。 循环判断是否有名为 name的子窗体实例 For i = 0 To 1 If (i).Name = name Then 39。 存在名为 name的子窗体,是子窗体获得焦点并返回 True (i).Focus() Return True End If Next 39。 不存在名为 Name的子窗体 False Return False End Function [商品资料维护 ]的 Click事件添加相应函数。 Private Sub MenuItemGoodsInfo_Click(ByVal sender As , _ ByVal e As ) Handles 39。 判断商品资料维护窗体是是否已经创建 If GetInstanceState(frmGoodsInfo) Then 39。 商品资料维护窗体已经创建并返回 Exit Sub End If 39。 创建并显示商 品资料维护窗体 Dim childFrm As frmGoodsInfo = New frmGoodsInfo = Me () End Sub 其他菜单的 Click事件相应代码已上面的基本一致,这里不再一一叙述。 (二)创建数据访问模块 16 因为各个窗体均需要对数据库进行访问,可以把数据库的一些操作通过一个类实现,这样可以使对数据库的访问更加简单。 [文件 ]|[添加新项 ]命令添加一个名 为“ ” 的类文件。 Imports Imports Imports Public Class DataBase 39。 实现接口 IDisposable Implements IDisposable 39。 数据库连接对象 Private SqlConn As SqlConnection Public Shared sConn As String = Persist Security Info=False。 _ + Integrated Security=SSPI。 database=jxcbook。 _ + server=localhost。 Connect Timeout=30 Public Sub Dispose() Implements Dispose(True) (True) End Sub Protected Sub Dispose(ByVal disposing As Boolean) If disposing True Then Return End If If SqlConn Is Nothing = False Then () SqlConn = Nothing End If End Sub Public Sub Open() If SqlConn Is Nothing = True Then 39。 建立数据库连接对象 SqlConn = New SqlConnection() 39。 打开数据库连接 () End If End Sub Public Sub Close() 39。 如果数据库连接对象不为空则关闭数据库连接 If SqlConn Is Nothing = False Then () End If End Sub Public Function RunSelectSQL(ByVal sSQLString _ 17 As ) As DataView () Dim SqlDS As DataSet = New DataSet Dim SqlDA As SqlDataAdapter = _ New SqlDataAdapter(sSQLString, ) (SqlDS) Return (0).DefaultView End Function Public Function RunDelOrInsSQL(ByVal sSQLString _ As ) () Dim SqlComm As SqlCommand = _ New SqlCommand(sSQLString, ) () End Function End Class (三)实现系统登录功能 在用户输入“用户号”和“密码”后对用户的输入进行验证,并记录登录用户的姓名和用户名,供系统使用。 各控件的属性设置如下。 控件类型 对象名 属性 取值(说明) Form frmLogin Caption 登录 Form frmLogin Position CenterScreen Form frmLogin FormBorderStyle Fixen3D Label lblUserID Text 用户编号 Label lblName Text 用户名 Label lblPwd Text 密码 Label lblText Text 初始用户为: 1密码为 sys TextBox txbUserId Text TextBox txbName Text TextBox txbPwd PasswordChar * TextBox txbPwd Text Button btnSubmit Caption 确定 Button btnClear Caption 取消 表 代码如下: 为 frmLogin类添加如下两个公共变量。 39。 用于返回登陆结果 Public bResult As Boolean = False 39。 登陆用户的 ID Public UserId As String = 18 39。 登陆的用户名 Public UserName As String = 39。 登陆的用户密码 Private UserPwd As String = 为文本 txbUserId,txbPwd分别添加 KeyPress时间相应函数。 Private Sub txbPwd_KeyPress(ByVal sender As Objec。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。