《基于CS结构的开发技术》课程设计报告书V1.0

合集下载

毕业设计(论文)-基于CS结构的个人理财系统的开发

毕业设计(论文)-基于CS结构的个人理财系统的开发

基于C/S结构的个人理财系统的设计摘要随着计算机网络的日趋广泛,数据库技术的应用,人们传统的一些工作方式发生了极大的变化,一些需要人手动完成的工作,已经有相应的软件和网络系统取代其传统的手工方式。

这些软件系统,为人们的工作,生活带来了极大的和提高。

本系统所开发的,就是一套基于C/S模式的理财系统软件,该系统能帮助用户进行日常理财。

系统通过与数据库的访问和连接,进行用户收支,资产管理等数据的统计和查询;通过一些计算功能的实现,来进行一些理财方面的计算。

通过这些来实现一个较为完整的个人理财功能。

用户通过使用该系统,可以方便的进行日常的收入支出统计和查询,对自己的银行存款,资产情况,投资情况,贷款情况等经济方面的情况进行比较完善的信息整理。

关键词:收支统计;资产查询;投资;“The Design of Personal Financial Management SystemBased on C/S StructureAbstractWith the broad application of network and database, some traditional works have been changed greatly. Some handwork has been accomplished by the software and network system, which brings great convenience to people.The finance system, which is based on C/S structure, could help people to manage the daily finance. The system helps user to inquire and calculate the data of income and expenditure by linking database. User can manage credit and status of asset, investment and loan by the system perfectly. The system provides a whole function of personal financial management for people and saves a lot of time for people. So the system could provide great convenience for personal financing.Keywords:Statistic of Income and Expenditure; Inquiry of Asset;Investment;目录论文总页数:24页1.引言 (1)1.1课题背景 (1)1.2 国内外研究现状 (1)1.3研究意义 (1)1.4研究方法 (1)2.相关的理论基础 (1)2.1 C/S模式 (2)2.2 Delphi的介绍 (2)2.3关于结构化查询语言SQL的介绍 (3)3.用户需求分析 (3)3.1用户登陆功能 (3)3.2 新用户注册功能 (3)3.3 密码修改功能 (4)3.4 收入统计功能 (4)3.5收入查询功能 (4)3.6资产状况统计查询功能 (4)3.7投资情况统计查询功能 (5)3.8 银行贷款统计查询功能 (5)3.9 理财计算器功能 (5)4 系统功能的设计和实现 (5)4.1系统功能示例图 (5)4.2数据库表的设计 (6)4.3数据库表之间的关系 (10)4.4系统功能模块的设计 (11)4.4.1系统登陆模块的设计 (11)4.4.2用户注册模块功能的设计 (11)4.4.3密码修改模块功能的设计 (12)4.4.4收入统计和查询模块的设计 (12)4.4.5资产情况的统计和查询的设计 (14)4.4.6 投资情况的统计和查询的设计 (15)4.4.7 贷款情况的统计和查询的设计 (16)4.5系统部分典型代码..............................................................................错误!未定义书签。

Android设备中基于CS架构的电脑操控系统软件说明书【大学生创业大赛项目商业计划书】

Android设备中基于CS架构的电脑操控系统软件说明书【大学生创业大赛项目商业计划书】

《Android设备中基于C/S架构的电脑操控软件v1.0版》软件说明书南京航空航天大学目录一、系统概述1二、安装及连接方式11. 安装 12. 局域网连接 13. 公网连接1三、登陆 2四、系统功能介绍 41. 电脑文件42. 模拟鼠标43. 模拟触摸板 54. 模拟键盘55. 远程摄像头 66. 实时控制67. 电源71) 锁屏、取消定时关机、重启72) 定时关机88. 更多81) 端口说明、功能说明82) 关于我们9五、退出9一、系统概述本系统由服务端和客户端两部分组成。

服务端运行在windows系统上,客户端运行在Android系统上。

客户端需要与服务端连接使用。

二、安装及连接方式1.安装服务端拷贝到windows系统上,无需安装。

客户端在Android系统上安装。

2.局域网连接Android设备需与电脑处于同一局域网。

搭建局域网方式:1)连接同一路由器。

2)Android设备创建热点,电脑连接(要有无线网卡)。

3)电脑利用软件或DOS命令创建WIFI(要有无线网卡),Android设备连接。

4)电脑利用随身wifi设备创建WIFI (无需无线网卡),Android设备连接。

……3.公网连接电脑需要有固定ip(若使用路由器,需在路由器设置界面-转发规则-虚拟服务器中设置ip和端口映射,将公网ip映射到电脑局域网ip,映射端口为8426)。

Android设备连接3G/4G/WIFI网络。

路由器设置方法:三、登陆1.电脑双击图标打开服务端:显示服务端界面:2.Android设备与电脑按照第二条:《安装及连接方式》中提到的方法建立局域网或公网连接。

3.Android设备点击图标打开客户端:显示客户端连接界面:4.Android设备点击连接按钮,进入功能界面:四、系统功能介绍1.电脑文件点击电脑文件进入此功能,手机可以查看电脑文件列表,一键到达电脑桌面或根目录。

可以看到文件大小和名称。

可以下载文件到手机,中途可以取消下载。

基于CS结构或BS结构的网站软件设计开发方案类

基于CS结构或BS结构的网站软件设计开发方案类
4.基于 C/S 结构或 B/S 结构的网站软件设计开发方案类:
标题:在线考试系统 1 目的:建立一个基于网络的在线考试系统,通过指定题数、时间自动抽
题,自动评分,使考生马上得知成绩。 标题:**网站开发与设计
2 目的:通过本次毕业设计,了解软件开发的整个周期,学会软件研制相 关工具的使用,设计和实现一个网站开发与设计。 标题:在线图书馆信息管理系统
isoneofthepracticalformofvalues. Theso-caledvaluesreferstotheobjectivethingsareofnovalueandthevalueoffundamentalperspective.Differentvaluesp,eople'sbehaviour,attitudes,waysaredifferent.People-orientedfocusonhumanvalueandreality,weneedthebroadestmassesasvalues.Adheretopeople-orientedvalues,istomaketheeconomymoredevelopment,improvedemocracy,culturalprosperity,andliveahappier;isdeeplyconcernedthathumandevelopmentandhumanvalues,developmentofsocialandhumandevelopmentofrationalunified,insistedinthematerialcivilzation,politicalcivilzationandspiritualcivilzationintheoveraladvancementofSocialistcivilzationtoahigherlevel.Alsowanttoseethatperson'svalueisnotonlymeetyourneeds,alsoistomeettheneedsofothersandthecommunity.Adheretopeople-oriented,tostronglyadvocateeverycommunitymember,serveothersb, eneficialtothecommunityofpeople.Theso-caledOutlook,attitudeisontherecord,includingwho,howtocreatearecordofachievements,howtoevaluateperformance,andsoon.Whatvalues,whatkindofOutlook.Adheretopeople-orientedOutlook,isonthepremiseofrespectingtheinterestsandpowerofpeople,creatingapopular,warmhearts,steadyheartperformance,creating"serveforoneofficer,thebenefitof"achievements,andoveralconstructionofwel-offsocietyandpromotingthea-rlounddevelopmentofpeople'sperformance.Achievementevaluationinbotheconomicaccomplishments,takeanotherlookattheeffectivenessofsocialprogress;changesinbothurbanandruralchange;bothhardenvironmenttostrengthenandtakeanotherlookatthesoftenvironmentimprovementmomentumofdevelopmentatpresent,dependingonthepotentialforsustainabledevelopment.Leavepeopletotalkabout"values"areworthlessandleavepeopletotalkabout"Outlook"isnotwhattheperformance. 4.peoplerespondedtothestartingpointofthequestion,andrepliedtoquestionspoint.Manisthesumofsocialrelationships.Wecannotleavethechichuanyongdu,housing,tourismandentertainment,entertaining,andevencertainpolitical,economic,culturalandsocialenvironment,andsoon.Duetohumanneeds,alwalksoflifewilcomeintobeing.Peoplecreatefortheirsurvival,andcontinueenjoyingtheresultsoftheconstruction.Colorfulinthetransformationofthepeopleoftheworld,communityvitalityinthecreationofman.Therefore,anyworkwedo,thestartingpointishuman,speedupdevelopment,thecoreofwhichistomeettheneedsofpeople,includingsurvivalneeds,emotionalneedsandself-actualizationneeds.Itshouldbenotedthatpeoplearenotmachines,nottheslaveofanobject,nottobecontroled.Peoplehavetheirownpersonality,hasitsownpersonality,hasitsowndignity.Personinneedofcare,youneedtounderstand,needtomeet.Itissaidthatinthe"agriculturalsociety,peopleplant";in"industrialsociety,manisananimal";"theinformationsociety,return

cs课程设计

cs课程设计

cs课程设计一、教学目标本节课的教学目标是让学生掌握CS课程的基本概念和原理,培养学生对计算机科学的兴趣和好奇心,提高学生的逻辑思维和问题解决能力。

具体来说,知识目标包括了解计算机科学的基本概念、原理和技术,理解编程语言的基本语法和用法,掌握数据结构和相关算法。

技能目标包括能够使用编程语言编写简单的程序,能够运用数据结构和相关算法解决实际问题,能够进行团队合作和交流。

情感态度价值观目标包括培养对计算机科学的热爱和好奇心,提高对新技术的敏感度和适应能力,培养良好的科学态度和职业道德。

二、教学内容本节课的教学内容主要包括计算机科学的基本概念、原理和技术,编程语言的基本语法和用法,数据结构和相关算法。

具体来说,将介绍计算机科学的发展历程和基本概念,如计算机系统、算法、编程语言等。

将讲解编程语言的基本语法和用法,如变量、数据类型、控制结构等。

将介绍数据结构的基本概念和常用算法,如数组、链表、栈、队列、排序、查找等。

三、教学方法为了实现教学目标,将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。

将通过讲解和示例的方式,让学生了解和掌握计算机科学的基本概念和原理。

将学生进行小组讨论和案例分析,培养学生的团队合作和问题解决能力。

将安排学生进行实验和实践,提高学生的动手能力和实践能力。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。

教材方面,将使用《计算机科学导论》作为主教材,辅以《编程语言原理与应用》作为辅助教材。

参考书方面,将推荐学生阅读《算法导论》和《数据结构与算法分析》等书籍。

多媒体资料方面,将制作PPT和教学视频,以图文并茂的方式呈现教学内容。

实验设备方面,将准备计算机实验室,为学生提供实践和实验的机会。

五、教学评估本节课的教学评估将采用多种方式,以全面、客观地评价学生的学习成果。

平时表现方面,将根据学生在课堂上的参与程度、提问和回答问题的情况进行评估。

作业方面,将布置编程练习和课后作业,要求学生在规定时间内完成,并根据完成情况进行评估。

基于CS架构的小学在线学习系统的设计与应用研究方案

基于CS架构的小学在线学习系统的设计与应用研究方案

小学在线学习系统的设计和使用研究方案央馆批准号:086121808 一、本课题国内外研究现状述评、选题意义和研究价值 ..... 错误!未定义书签。

(一)来自国内外使用的现状 (2)(二)本课题选题意义和研究价值 (3)二、本课题的研究目标、研究内容、主要观点和创新之处 (3)(一)研究目标 (3)(二)研究内容 (4)课内外教学案例 (4)课题研究案例设计 (5)(三)主要观点 (5)(四)创新之处 (6)三、本课题的研究思路、研究方法、实施步骤 (6)(一)研究思路 (6)(二)研究方法 (6)(三)实施步骤: (7)第一阶段:课题申报阶段(08.11-09、07): (7)第二阶段:课题实施阶段(09.1-10.7): (7)第三阶段:总结验收阶段(10.7-10.12) (7)四、可行性分析: (7)(一)相关研究成果: (7)(二)前期体验效果 (8)(三)主要参加者的学术背景和研究经验 (8)五、主要阶段性成果(暂定) (8)主要阶段性成果(限报 10 项) (8)六、主要参考文献: (9)一、本课题国内外研究现状述评、选题意义和研究价值进入21世纪后,世界各国纷纷采用各种各样的学习系统、学习管理系统、学习活动系统组织网络环境中的教学,于是e-Learning、在线学习、虚拟学习、基于网络的学习逐步兴起。

随着信息技术和网络技术的发展,特别是“校校通”工程的实施,教师有了越来越多的利用网络环境开展教学的机会。

但是各种方式均有一定的优势和限制。

(一)来自国内外使用的现状中国教育学会刘雍潜教授表示,现在,媒体技术在教学上的运用主要是支持教师的课堂教学,如制作PPT教案丰富课程内容。

1、课件演示:采用多媒体技术和大屏幕投影,把教学课件进行播放,扩大了课堂教学信息量,但是仍然是以教师讲授为主的教学模式,学生自主学习空间不足,难以实现差异型教学。

2、远程教学:核心技术是高速网络和流媒体技术的结合,是传统教育方式的网络化,信息传输面广,受众多。

基于CS结构的即时通信系统的设计与实现毕业设计

基于CS结构的即时通信系统的设计与实现毕业设计

基于CS结构的即时通信系统的设计与实现毕业设计目录1 绪论 (1)1.1 即时通倍系统概述和选题背景 (1)1.2 选题的目的和研究意义 (2)1.3 本论文的研究方法 (3)1.4 本论文的内容 (3)2 主要技术介绍 (5)2.1 开发环境介绍 (5)2.1.1 Java语言的产生与发展简介 (5)2.1.2 Java语言的主要特点 (5)2.1.3 Java web和struts2技术 (6)2.1.4 MyEcIipse (7)2.2 Swing 编程 (7)2.3 多线程编程 (7)2.4 MySQL数据库简介 (8)2.5 即时通讯系统原理 (8)2.5.1 套接字通信 (9)2.5.2 数据报通信 (9)2.6 系统的主要架构 (9)2.7 TCP/IP 协议 (10)3 即时通信系统分析 (12)3.1 系统基本功能描述 (12)3.2 可行性分析 (12)3.3 系统需求分析 (12)4 即时通信系统设计 (15)4.1 数据库设计 (15)4.2 系统模块设计 (15)4.2.1 聊天系统工作原理图 (15)4.2.2 系统功能模块图: (16)4.2.3 系统用例图 (17)4.2.4 活动图 (18)4.3 系统类设计 (19)4.3.1 Message类的设计: (19)4.3.2 截图类的设计: (21)4.3.3 聊天记录类的设计: (21)4.3.4 服务端线程的设计: (22)5 即时通信系统实现 (23)5.1 实现概况 (23)5.2 注册模块 (23)5.2.1 流程图 (23)5.2.2 关键代码 (24)5.3 登录模块 (25)5.3.1 流程图 (25)5.3.2 关键代码 (26)5.4 聊天模块 (30)5.4.1 流程图 (30)5.4.2 关键代码 (31)5.5 文件模块 (35)5.5.1 流程图 (35)5.5.2 关键代码 (36)5.6 用户管理模块 (41)5.6.1 流程图 (41)5.6.2 关键代码 (42)5.7 其他功能的实现 (45)5.7.1 截图功能的实现 (45)5.7.2聊天记录功能的实现 (46)5.7.3 服务端线程的实现 (48)5.8 用户界面的设计 (48)5.8.1 登陆界面 (48)5.8.2 好友列表 (49)5.8.3聊天界面 (50)结论 (51)致谢 (52)参考文献 (53)附录A 英文原文 (55)附录B 汉语翻译 (62)1 绪论1.1 即时通倍系统概述和选题背景即时通信(Instant Messaging,缩写为IM),是以万维网为基础,实现通信双方语言、文件、语音等实时信息传送的通信过程[1]。

毕业设计(论文)-基于CS结构的图书管理系统的开发与设计

毕业设计(论文)-基于CS结构的图书管理系统的开发与设计

基于C/S结构的图书管理系统的开发与设计[摘要]图书馆作为提供学习的场所,不仅要求便于管理,而且要求给读者和借阅者提供方便快速的查找、借阅和登记手续。

以前的图书管理中心进行信息管理主要是基于手工处理,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。

在计算机普及的今天,利用电脑来简化和方便我们的工作也不再少见,而图书管理系统只是其中一个小小的应用,利用这个系统来管理图书馆图书的借阅工作,可以非常容易和快捷的对整个流程进行很好的控制和管理,并且简化了工作的困难度和节省了人力资源。

鉴于市场上对这样的管理软件的大量需求和应用,选择了本题目。

由于本系统一般是在局域网中使用,所以本系统采用C/S架构进行开发,图书馆的工作人员使用的每台电脑都需要配置该管理软件,同时,需要一台数据库服务器提供数据处理的服务,开发语言选择C#,后台数据库服务器选择SQL Server 2005。

[关键词]图书管理系统C/S C# SQL ServerBased on C / S structure of the library management systemdevelopment and design[Abstract] The library as a place of learning, not only the requirement of the management, and the requirement to the reader and library provide convenient fast search, borrow and registration procedures.The previous Library Management Center for information management is mainly based on manual processing, information processing workload, prone to error, lack of systematic, standardized information management tools. Popular in the computer today, the use of computers to simplify and facilitate our work is not uncommon, and the book management system is a small application, use this system to manage the library to borrow books, can be very easy and fast for the whole process very good control and management, and simplified the work difficulty and save human resources. In view of the market for such a management software for large demand and application, the choice of this topic.Because the system is generally used in LAN, so this system adopts C / S architecture development, the library staff in the use of each computer will need to configure the management software, at the same time, need a database server provides the data processing services, development language C # background database server, select SQL Server 2005.[Key Words] Library Management System C/S C# SQL Server[目录]第一章绪论 (1)1.1引言 (1)1.2 项目开发意义 (1)第二章技术概述 (3)2.1 .NET框架介绍 (3)2.2 C#介绍 (3)2.3 Visual Studio 2010介绍 (3)2.4 SQL Server 2005介绍 (4)2.5 C/S结构 (4)第三章系统设计 (6)3.1 系统分析 (6)3.2 系统开发思想 (7)3.3 系统配置 (8)3.4 系统功能模块设计 (8)3.5 数据库设计 (11)第四章系统实施 (16)4.1 系统模块 (20)4.2 图书信息管理模块 (23)4.3 借书管理模块 (25)第五章结论 (28)第六章致谢 (29)第七章参考文献 (30)第一章绪论1.1引言一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。

C#基于CS架构三层架构设计实例描述

C#基于CS架构三层架构设计实例描述
this.m_objConnection.Close(); } } } #endregion #region GetDataView
///<summary> /// Execute the sql and return the default table view ///</summary> ///<param name="strSelectString">Select String</param> ///<returns>DataView of the DataTable</returns> public DataView GetDataView(string strSqlStat) {
2 Data Access的具体实现:
DataAgent类型中变量和方法的说明: private string m_strConnectionString; //连接字符串 private OleDbConnection m_objConnection; //数据库连接 public DataAgent(string strConnection) //构造方法,传入的参数为连接字符串 private void OpenDataBase() //打开数据库连接 private void #region CloseDataBase() //关闭数据库连接 public DataView GetDataView(string strSqlStat) //根据传入的连接字符串返回 DataView 具体实现代码如下: public class DataAgent
public class News : Base {
public DataView GetNewsList() {
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东莞理工学院城市学院《方向课课程设计1》——基于C/S结构的开发技术课程设计题目:小型超市管理系统专业:软件工程年级:2009级 1 班小组成员:蔡泽辉(组长)、缪志发、蓝柳明指导教师:张永财老师时间:2012.6.11 —2012 .6.15地点:实验楼616东莞理工学院城市学院计算机与信息科学系制2012年6 月目录1.开发环境与开发工具 (3)2.系统需求分析 (3)2.1实体信息 (3)2.2实体联系信息 (5)3.功能要求分析 (6)4.系统设计 (6)4.1系统功能模块设计,如有类图等UML分析则更好 (6)4.2数据库概念结构设计(如有数据库则需增加以下部分) (7)4.3 数据库逻辑结构设计 (9)5.数据库初始数据的加载(如有数据库则填写以下内容) (20)5.1供应商表记录插入 (21)5.2客户表记录插入 (21)5.3部门表记录插入 (22)5.4仓库表记录插入 (22)5.5商品计量单位表记录插入 (23)5.6权限表记录插入 (24)5.7用户表记录插入 (24)5.8商品进货表记录插入 (25)5.9库存表记录插入 (25)5.10销售表记录插入 (25)5.11临时库存表记录插入 (26)5.12退货表记录插入 (26)5.13职位表记录插入 (27)6.系统实现 (27)6.1商品进货 (27)6.2商品销售 (32)6.3销售查询 (37)6.4库存调拨 (39)6.5基本信息查询 (43)7.设计心得 (46)8.参考文献 (47)1.开发环境与开发工具系统开发平台:Microsoft Visual Studio 2008系统开发语言:C#数据库管理系统软件:SQL Server2005运行平台:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1) 运行环境: Framework SDK v2.02.系统需求分析小型超市系统管理是企业日常经营管理中十分重要的一个组成部分,传统的手工管理方式呈现出越来越多的弊端。

在手工管理模式下,统计、汇总处理时的工作量极其繁重,处理效率非常低。

通过小型超市管理系统,企业可以减少人工干预,提高企业竞争能力。

2.1实体信息User用户实体Goods商品实体Depot仓库实体Goods进货记录实体Sell销售记录实体Customer客户实体Company供应商实体2.2实体联系信息1:n之间的联系3.功能要求分析1,收银(售货)管理。

根据输入的商品编号和数量计算并显示顾客的应付金额,记录每一次售货信息,并动态更新库存信息。

2,进货管理。

记录每一次进货的信息,能按月、年统计某种商品的进货量,进货信息包括:商品名称、进价、数量、来源、进货人等。

3,库存商品管理。

能按照商品编号或者商品名称查询商品价格、生产厂商等商品信息;可以把各种商品进行分类,例如电器类、食品类等;可以对要上架的商品进行标价。

4,销售情况统计。

能按天、月、年统计各种(精确到每一种)商品的销售情况,包括商品名称、数量、总金额等。

5,厂商信息查询。

能按商品的记录查询有关厂商的各信息,包括厂商名、联系人、电话等。

6,人员权限管理实现用户管理和不同用户、角色的登录功能。

4.系统设计4.1系统功能模块设计,如有类图等UML分析则更好小型超市管理系统功能结构如图4-1所示。

4.2数据库概念结构设计(如有数据库则需增加以下部分)(主要包括整体E-R图)4.3 数据库逻辑结构设计4.3.1 数据库关系模式供应商(公司ID,公司名称,公司主管,电话,传真,公司地址,备注)客户(客户ID,客户姓名,性别,生日,移动电话,家庭电话,住址,备注)部门(部门ID,部门名称,部门描述,部门职责)仓库(仓库ID,仓库分类)进货(商品ID,操作员ID,公司名称,仓库名称,商品名称,商品数量,商品计量单位,进货时间,商品规格,进货价格,销售价格,应付金额,实付金额,备注)权限分配(权限ID,系统用户分类,系统用户姓名,员工信息,供应商信息,客户信息,采购进货信息,采购退货信息,商品销售信息,客户退货信息,库存调拨信息,库存警报信息,权限设置信息,修改密码信息)职位(职位ID,职位名称,职位描述)退货(退货商品ID,库存ID,商品ID,操作员ID,客户ID,公司ID,仓库名称,商品名称,商品规格,退货时间,退货数量,商品计量单位,退货价格,应付金额,已退款金额,退货原因,退货类型)销售(销售ID,库存ID,商品ID,操作员ID,商品名称,销售数量,商品规格,销售时间,商品计量单位,进货单价,销售单价,应收金额,实收金额,备注)库存(库存ID,商品ID,公司名称,仓库名称,商品名称,库存数量,报警数量,商品计量单位,进货时间,商品规格,进货单价,销售单价,应付金额,实付金额,备注)临时库存(临时库存ID,库存ID,操作员ID,商品ID,商品名称,调出仓库名称,调入仓库名称,商品调动时间,库存数量,调动数量)计量单位(单位ID,单位名称)用户(操作员ID,姓名,系统登录名称,密码,性别,生日,部门,职位,移动电话,家庭电话,住址,权限ID)4.3.2 数据库及表结构的创建SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id =OBJECT_ID(N'[dbo].[tb_Company]') AND type in (N'U'))BEGIN创建公司表tb_CompanyCREATE TABLE [dbo].[tb_Company]([CompanyID] [int] IDENTITY(1,1) NOT NULL,[CompanyName] [nvarchar](100) NULL,[CompanyDirector] [nvarchar](20) NULL,[CompanyPhone] [nvarchar](20) NULL,[CompanyFax] [nvarchar](20) NULL,[CompanyAddress] [nvarchar](200) NULL,[CompanyRemark] [nvarchar](400) NULL,CONSTRAINT [PK_tb_Company] PRIMARY KEY CLUSTERED([CompanyID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Post]') AND type in (N'U'))BEGIN创建职位表tb_PostCREATE TABLE [dbo].[tb_Post]([PostID] [int] IDENTITY(1,1) NOT NULL,[PostName] [nvarchar](20) NULL,[PostDescription] [nvarchar](200) NULL,CONSTRAINT [PK_tb_Post] PRIMARY KEY CLUSTERED([PostID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Popedom]') AND type in (N'U'))BEGIN创建权限表tb_PopedomCREATE TABLE [dbo].[tb_Popedom]([PopedomID] [int] IDENTITY(1,1) NOT NULL,[SysUserSort] [nvarchar](20) NULL,[SysUserName] [nvarchar](20) NULL,[EmployeeInfo] [bit] NULL,[CompanyInfo] [bit] NULL,[CustomerInfo] [bit] NULL,[GoodsInInfo] [bit] NULL,[GoodsOutInfo] [bit] NULL,[SellGoodsInfo] [bit] NULL,[ReGoodsInfo] [bit] NULL,[StockChangeInfo] [bit] NULL,[StockAlarmInfo] [bit] NULL,[SysUser] [bit] NULL,[PopedomInfo] [bit] NULL,[BakDataInfo] [bit] NULL,[ReBakDataInfo] [bit] NULL,CONSTRAINT [PK_tb_Popedom] PRIMARY KEY CLUSTERED([PopedomID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_User]') AND type in (N'U'))BEGIN创建用户表tb_UserCREATE TABLE [dbo].[tb_User]([UserID] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](20) NULL,[SysLoginName] [nvarchar](20) NULL,[Pwd] [nvarchar](100) NULL,[Sex] [nvarchar](20) NULL,[Birthday] [datetime] NULL,[Department] [nvarchar](20) NULL,[Post] [nvarchar](20) NULL,[PhoneH] [nvarchar](20) NULL,[PhoneM] [nvarchar](20) NULL,[Address] [nvarchar](200) NULL,[PopedomID] [int] NULL,CONSTRAINT [PK_tb_User] PRIMARY KEY CLUSTERED([UserID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Unit]') AND type in (N'U'))BEGIN创建单位表tb_UnitCREATE TABLE [dbo].[tb_Unit]([UnitID] [int] IDENTITY(1,1) NOT NULL,[UnitName] [nvarchar](10) NULL,CONSTRAINT [PK_tb_Unit] PRIMARY KEY CLUSTERED([UnitID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_StockTemp]') AND type in (N'U'))BEGIN创建仓库调拨表tb_StockTempCREATE TABLE [dbo].[tb_StockTemp]([StockTempID] [nvarchar](20) NOT NULL,[StockID] [int] NULL,[UserID] [int] NULL,[GoodsID] [nvarchar](20) NULL,[GoodsName] [nvarchar](50) NULL,[FDepotName] [nvarchar](20) NULL,[LDepotName] [nvarchar](20) NULL,[CGoodsTime] [datetime] NULL,[StockNum] [int] NULL,[CGoodsNum] [int] NULL,CONSTRAINT [PK_tb_Stock] PRIMARY KEY CLUSTERED([StockTempID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Stock]') AND type in (N'U'))BEGIN创建库存表tb_StockCREATE TABLE [dbo].[tb_Stock]([StockID] [int] IDENTITY(1,1) NOT NULL,[GoodsID] [nvarchar](20) NULL,[CompanyName] [nvarchar](100) NULL,[DepotName] [nvarchar](20) NULL,[GoodsName] [nvarchar](20) NULL,[StockNum] [int] NULL,[AlarmNum] [int] NULL CONSTRAINT [DF_tb_Stock_AlarmNum] DEFAULT ((10)), [GoodsUnit] [nvarchar](20) NULL,[GoodsTime] [datetime] NULL,[GoodsSpec] [nvarchar](20) NULL,[GoodsPrice] [money] NULL,[SellPrice] [money] NULL,[NeedPay] [money] NULL,[HasPay] [money] NULL,[Remark] [nvarchar](200) NULL,CONSTRAINT [PK_tb_Stock_1] PRIMARY KEY CLUSTERED([StockID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Sell]') AND type in (N'U'))BEGIN创建销售表tb_SellCREATE TABLE [dbo].[tb_Sell]([SellID] [nvarchar](20) NOT NULL,[StockID] [int] NULL,[GoodsID] [nvarchar](20) NULL,[UserID] [int] NULL,[GoodsName] [nvarchar](50) NULL,[GoodsNum] [int] NULL,[GoodsSpec] [nvarchar](20) NULL,[GoodsTime] [datetime] NULL,[GoodsUnit] [nvarchar](20) NULL,[GoodsPrice] [money] NULL,[SellPrice] [money] NULL,[NeedPay] [money] NULL,[HasPay] [money] NULL,[Remark] [nvarchar](200) NULL,CONSTRAINT [PK_tb_Sell] PRIMARY KEY CLUSTERED([SellID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_ReGoods]') AND type in (N'U'))BEGIN创建退货表tb_ReGoodsCREATE TABLE [dbo].[tb_ReGoods]([ReGoodsID] [nvarchar](20) NOT NULL,[StockID] [int] NULL,[GoodsID] [nvarchar](20) NULL,[UserID] [int] NULL,[CustomerID] [int] NULL,[CompanyName] [nvarchar](100) NULL,[DepotName] [nvarchar](20) NULL,[ReGoodsName] [nvarchar](20) NULL,[ReGoodsSpec] [nvarchar](20) NULL,[ReGoodsTime] [datetime] NULL,[ReGoodsNum] [int] NULL,[ReGoodsUnit] [nvarchar](20) NULL,[ReGoodsPrice] [money] NULL,[NeedPay] [money] NULL,[HasPay] [money] NULL,[ReGoodsResult] [nvarchar](400) NULL,[ReGoodsSort] [int] NULL,CONSTRAINT [PK_tb_ReGoods] PRIMARY KEY CLUSTERED([ReGoodsID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Goods]') AND type in (N'U'))BEGIN创建商品表tb_GoodsCREATE TABLE [dbo].[tb_Goods]([GoodsID] [nvarchar](20) NOT NULL,[UserID] [int] NULL,[CompanyName] [nvarchar](100) NULL,[DepotName] [nvarchar](20) NULL,[GoodsName] [nvarchar](50) NULL,[GoodsNum] [int] NULL,[GoodsUnit] [nvarchar](20) NULL,[GoodsTime] [datetime] NULL,[GoodsSpec] [nvarchar](20) NULL,[GoodsPrice] [money] NULL,[SellPrice] [money] NULL,[NeedPay] [money] NULL,[HasPay] [money] NULL,[Remark] [nvarchar](200) NULL,CONSTRAINT [PK_tb_Goods] PRIMARY KEY CLUSTERED([GoodsID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Depot]') AND type in (N'U'))BEGIN创建仓库分类表tb_DepotCREATE TABLE [dbo].[tb_Depot]([DepotID] [int] IDENTITY(1,1) NOT NULL,[DepotSort] [nvarchar](20) NULL,CONSTRAINT [PK_tb_Depot] PRIMARY KEY CLUSTERED([DepotID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Department]') AND type in (N'U'))BEGIN创建部门表tb_DepartmentCREATE TABLE [dbo].[tb_Department]([DepartmentID] [int] IDENTITY(1,1) NOT NULL,[DepName] [nvarchar](20) NULL,[DepDescription] [nvarchar](200) NULL,[DepPrincipal] [nvarchar](20) NULL,CONSTRAINT [PK_tb_Department] PRIMARY KEY CLUSTERED([DepartmentID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tb_Customer]') AND type in (N'U'))BEGIN创建顾客信息表tb_CustomerCREATE TABLE [dbo].[tb_Customer]([CustomerID] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](20) NULL,[Sex] [nvarchar](4) NULL,[Birthday] [datetime] NULL,[PhoneH] [nvarchar](20) NULL,[PhoneM] [nvarchar](20) NULL,[Address] [nvarchar](200) NULL,[Remark] [nvarchar](200) NULL,CONSTRAINT [PK_tb_Customer] PRIMARY KEY CLUSTERED([CustomerID] ASC)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]ENDGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_UserView]'))创建v_UserView视图EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_UserView]ASSELECT dbo.tb_User.*, dbo.tb_Popedom.SysUserSort, dbo.tb_Popedom.SysUserName,dbo.tb_Popedom.EmployeeInfo, dbo.tb_Popedom.CustomerInfo,dbo.tb_panyInfo, dbo.tb_Popedom.GoodsInInfo,dbo.tb_Popedom.GoodsOutInfo, dbo.tb_Popedom.SellGoodsInfo,dbo.tb_Popedom.ReGoodsInfo, dbo.tb_Popedom.StockChangeInfo,dbo.tb_Popedom.StockAlarmInfo, dbo.tb_Popedom.SysUser,dbo.tb_Popedom.PopedomInfo, dbo.tb_Popedom.BakDataInfo,dbo.tb_Popedom.ReBakDataInfoFROM dbo.tb_User INNER JOINdbo.tb_Popedom ON dbo.tb_User.PopedomID = dbo.tb_Popedom.PopedomID 'GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_UserSell]'))创建v_UserSell视图EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_UserSell]ASSELECT dbo.tb_, dbo.tb_User.Sex, dbo.tb_User.Department,dbo.tb_User.Birthday, dbo.tb_User.Post, dbo.tb_User.PhoneH, dbo.tb_User.PhoneM,dbo.tb_User.Address, dbo.tb_Sell.*FROM dbo.tb_Sell INNER JOINdbo.tb_User ON dbo.tb_erID = dbo.tb_erID'GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_GoodsIn]'))创建v_GoodsIn视图EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_GoodsIn]ASSELECT dbo.tb_Goods.*, dbo.tb_, dbo.tb_User.Sex, dbo.tb_User.Department,dbo.tb_User.PostFROM dbo.tb_User INNER JOINdbo.tb_Goods ON dbo.tb_erID = dbo.tb_erID'GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[v_ReGoods]'))创建v_ReGoods视图EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[v_ReGoods]ASSELECT dbo.tb_, dbo.tb_Customer.Sex, dbo.tb_Customer.Birthday, dbo.tb_Customer.PhoneH, dbo.tb_Customer.Address, dbo.tb_Customer.Remark,dbo.tb_ReGoods.ReGoodsID, dbo.tb_ReGoods.GoodsID, dbo.tb_erID,dbo.tb_ReGoods.CustomerID, dbo.tb_panyName,dbo.tb_ReGoods.DepotName, dbo.tb_ReGoods.ReGoodsName,dbo.tb_ReGoods.ReGoodsSpec, dbo.tb_ReGoods.ReGoodsTime,dbo.tb_ReGoods.ReGoodsNum, dbo.tb_ReGoods.ReGoodsUnit,dbo.tb_ReGoods.ReGoodsPrice, dbo.tb_ReGoods.NeedPay,dbo.tb_ReGoods.HasPay, dbo.tb_ReGoods.ReGoodsResult,dbo.tb_ReGoods.ReGoodsSortFROM dbo.tb_ReGoods INNER JOINdbo.tb_Customer ON dbo.tb_ReGoods.CustomerID = dbo.tb_Customer.CustomerID'4.3.3 数据库表关系图5.数据库初始数据的加载(如有数据库则填写以下内容)5.1供应商表记录插入5.2客户表记录插入5.3部门表记录插入5.4仓库表记录插入5.5商品计量单位表记录插入5.6权限表记录插入5.7用户表记录插入5.8商品进货表记录插入5.9库存表记录插入5.10销售表记录插入5.11临时库存表记录插入5.12退货表记录插入5.13职位表记录插入6.系统实现6.1商品进货关键代码:private void GoodsIn_Load(object sender, EventArgs e){string cmdtxt = "SELECT GoodsID as 商品ID,GoodsName as 商品名称,GoodsTime as 进货日期,CompanyName as 供应商名称";cmdtxt += ",GoodsNum as 进货数量,GoodsUnit as 商品单位,GoodsPrice as 商品进价,DepotName as 所属仓库,GoodsSpec as 商品规格";cmdtxt += ",SellPrice as 销售价格,NeedPay as 应付金额,HasPay as 实付金额,Remark as 备注FROM tb_Goods";this.dgvGoodsInfo.DataSource = G_SqlClass.GetDs(cmdtxt).Tables[0];G_OperationForm.BindComboBox("SELECT * FROM tb_Company", cbxCompanyName, "CompanyName"); //绑定ComboBox控件G_OperationForm.BindComboBox("SELECT * FROM tb_Unit", cbxUnit, "UnitName");G_OperationForm.BindComboBox("SELECT * FROM tb_Depot", cbxDepot, "DepotSort"); G_OperationForm.BindComboBox("SELECT * FROM tb_User",cbxEmployeeName, "Name"); }private void toolSave_Click(object sender, EventArgs e){string P_Str_condition, P_Str_cmdtxt;switch (G_Int_status){case 1:if (this.cbxEmployeeName.SelectedValue.ToString() != ""){string P_Str_Id = String.Empty;//检索数据库中对应客户的IDstring P_Str_cmdtxt2 = "SELECT UserID,Name FROM tb_User WHERE Name='" + this.cbxEmployeeName.SelectedValue.ToString() + "'";SqlDataReader P_dr = G_SqlClass.GetReader(P_Str_cmdtxt2);P_dr.Read();if (P_dr.HasRows){P_Str_Id = P_dr["UserID"].ToString();}P_dr.Close();//下面是要执行的SQL语句P_Str_cmdtxt = "INSERT INTOtb_Goods(GoodsID,UserID,CompanyName,DepotName,GoodsName,GoodsNum,GoodsUnit,GoodsTime,GoodsSp ec,GoodsPrice,SellPrice";P_Str_cmdtxt += ",Remark,NeedPay,HasPay) VALUES('" +bGoodsID.Text + "','" + P_Str_Id + "'";P_Str_cmdtxt += ",'" + this.cbxCompanyName.SelectedValue.ToString() + "','" + this.cbxDepot.SelectedValue.ToString() + "'";P_Str_cmdtxt += ",'"+ this.txtGoodsName.Text + "','"+ this.txtNum.Text + "','" + this.cbxUnit.SelectedValue.ToString() + "'";P_Str_cmdtxt += ",'" + this.dtBirthday.Value.ToString("yyyy-MM-dd") + "','" + this.txtSpec.Text + "'," + this.txtGoodsInPrice.Text + "";P_Str_cmdtxt += "," + this.txtSellPrice.Text + ",'" +this.txtRemark.Text + "'";P_Str_cmdtxt += "," + this.txtNeedPay.Text + "," + this.txtHasPay.Text + ")";if (this.txtGoodsName.Text == ""){MessageBox.Show("商品名称不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtNum.Text == ""){MessageBox.Show("商品数量不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtGoodsInPrice.Text == ""){MessageBox.Show("商品进价不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtSellPrice.Text == ""){MessageBox.Show("销售价格不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (!G_OperationForm.IsNumeric(this.txtNum.Text)&& !G_OperationForm.IsNumeric(this.txtGoodsInPrice.Text)&& !G_OperationForm.IsNumeric(this.txtHasPay.Text)&& !G_OperationForm.IsNumeric(this.txtSellPrice.Text)){MessageBox.Show("您输入的数据格式有误!", "提示对话框", MessageBoxButtons.OK, rmation);}else{//执行SQL语句并返回执行结果if (G_SqlClass.GetExecute(P_Str_cmdtxt)){MessageBox.Show("数据添加成功!");ControlStatus();}else{MessageBox.Show("数据添加失败!");}}}else{MessageBox.Show("请选择销售员姓名!", "提示对话框", MessageBoxButtons.OK, rmation);}break;case 2:if (this.cbxEmployeeName.SelectedValue.ToString() != ""){string P_Str_Id = String.Empty;//检索数据库中对应客户的IDstring P_Str_cmdtxt2 = "SELECT UserID,Name FROM tb_User WHERE Name='" + this.cbxEmployeeName.SelectedValue.ToString() + "'";SqlDataReader P_dr = G_SqlClass.GetReader(P_Str_cmdtxt2);P_dr.Read();if (P_dr.HasRows){P_Str_Id = P_dr["UserID"].ToString();}P_dr.Close();P_Str_condition = this.dgvGoodsInfo[0,this.dgvGoodsInfo.CurrentCell.RowIndex].Value.ToString();P_Str_cmdtxt = "UPDATE tb_Goods SET GoodsName='" +this.txtGoodsName.Text + "',CompanyName='" + this.cbxCompanyName.SelectedValue.ToString() + "'";P_Str_cmdtxt += ",DepotName='"+ this.cbxDepot.SelectedValue.ToString() + "',GoodsNum='" + this.txtNum.Text + "'";P_Str_cmdtxt += ",GoodsUnit='"+ this.cbxUnit.SelectedValue.ToString() + "',GoodsTime='" + this.dtBirthday.Value + "'";P_Str_cmdtxt += ",GoodsSpec='" + this.txtSpec.Text +"',UserID='"+P_Str_Id+"',GoodsPrice=" + this.txtGoodsInPrice.Text + "";P_Str_cmdtxt += ",SellPrice=" + this.txtSellPrice.Text + ",Remark='"+ this.txtRemark.Text + "'";P_Str_cmdtxt += ",NeedPay=" + this.txtNeedPay.Text + ",HasPay=" + this.txtHasPay.Text + " WHERE GoodsID='" + P_Str_condition + "'";if (G_SqlClass.GetExecute(P_Str_cmdtxt)){MessageBox.Show("数据修改成功!");ControlStatus();}else{MessageBox.Show("数据修改失败!");}}else{MessageBox.Show("请选择销售员姓名!", "提示对话框", MessageBoxButtons.OK, rmation);}break;default:break;}//绑定数据显示控件string cmdtxt = "SELECT GoodsID as 商品ID,GoodsName as 商品名称,GoodsTime as 进货日期,CompanyName as 供应商名称";cmdtxt += ",GoodsNum as 进货数量,GoodsUnit as 商品单位,GoodsPrice as 商品进价,DepotName as 所属仓库,GoodsSpec as 商品规格";cmdtxt += ",SellPrice as 销售价格,NeedPay as 应付金额,HasPay as 实付金额,Remark as 备注FROM tb_Goods";this.dgvGoodsInfo.DataSource = G_SqlClass.GetDs(cmdtxt).Tables[0];}结果截图:进货之前进货之后6.2商品销售关键代码:private void SellGoods_Load(object sender, EventArgs e){this.timer1.Start();string P_Str_cmdtxt = "SELECT SellID as 销售ID,GoodsID as 商品ID,[Name] as 销售员姓名,GoodsName as 商品名称";P_Str_cmdtxt +=",GoodsNum as 销售数量,GoodsUnit as 商品单位,GoodsSpec as 商品规格,GoodsTime as 销售时间";P_Str_cmdtxt += ",GoodsPrice 进货价格,SellPrice as 销售价格,NeedPay as 应收金额,HasPay as 实收金额,Remark as 备注";P_Str_cmdtxt += " FROM v_UserSell";this.dgvSellInfo.DataSource = G_SqlClass.GetDs(P_Str_cmdtxt).Tables[0];G_OperationClass.BindComboBox("SELECT * FROM tb_Customer", cbxCustomerName, "Name");G_OperationClass.BindComboBox("SELECT * FROM tb_Unit", cbxUnit, "UnitName");G_OperationClass.BindComboBox("SELECT * FROM tb_User",cbxSellName,"Name");}private void btnFindGoods_Click(object sender, EventArgs e){StockFind stockfind = new StockFind();stockfind.StartPosition = FormStartPosition.CenterScreen;stockfind.ShowDialog();}private void toolSave_Click(object sender, EventArgs e){string P_Str_condition, P_Str_cmdtxt;switch (G_Int_status){case 1:if (this.cbxSellName.SelectedValue.ToString() != ""){if (this.txtGoodsName.Text == ""){MessageBox.Show("商品名称不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtNum.Text == ""){MessageBox.Show("商品数量不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtGoodsInPrice.Text == ""){MessageBox.Show("商品进价不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtSellPrice.Text == ""){MessageBox.Show("销售价格不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (this.txtNeedPay.Text == ""){MessageBox.Show("应付金额不能为空!", "提示对话框", MessageBoxButtons.OK, rmation);return;}if (!G_OperationClass.IsNumeric(this.txtNum.Text)&& !G_OperationClass.IsNumeric(this.txtGoodsInPrice.Text)&& !G_OperationClass.IsNumeric(this.txtHasPay.Text)&& !G_OperationClass.IsNumeric(this.txtSellPrice.Text)){MessageBox.Show("您输入的数据格式有误!", "提示对话框", MessageBoxButtons.OK, rmation);}string P_Str_Id = String.Empty;//检索数据库中对应客户的IDstring P_Str_cmdtxt2 = "SELECT UserID,Name FROM tb_User WHERE Name='" + this.cbxSellName.SelectedValue.ToString() + "'";SqlDataReader P_dr = G_SqlClass.GetReader(P_Str_cmdtxt2);P_dr.Read();if (P_dr.HasRows){P_Str_Id = P_dr["UserID"].ToString();}P_dr.Close();//下面是要执行的SQL语句P_Str_cmdtxt = "INSERT INTOtb_Sell(SellID,GoodsID,UserID,GoodsName,GoodsNum,GoodsUnit,GoodsTime,GoodsSpec,GoodsPrice,Se llPrice";P_Str_cmdtxt += ",Remark,NeedPay,HasPay,StockID) VALUES('" +bGoodsID.Text + "','" + PropertyClass.GetGoodsID + "','" + P_Str_Id + "'";P_Str_cmdtxt += ",'"+ this.txtGoodsName.Text + "','"+ this.txtNum.Text + "','" + this.cbxUnit.SelectedValue.ToString() + "'";P_Str_cmdtxt += ",'" + this.dtBirthday.Value.ToString("yyyy-MM-dd") + "','" + this.txtSpec.Text + "','" + this.txtGoodsInPrice.Text + "'";P_Str_cmdtxt += ",'" + this.txtSellPrice.Text + "','" +this.txtRemark.Text + "'";P_Str_cmdtxt += ",'" + this.txtNeedPay.Text + "','" +this.txtHasPay.Text + "','" + PropertyClass.GetStockID + "')";string update = "update tb_Stock set StockNum =StockNum-'" +this.txtNum.Text + "' where GoodsID='" + PropertyClass.GetGoodsID + "'and DepotName='" + PropertyClass.StockName + "'";G_SqlClass.GetExecute(update);SqlDataReader P_dr2 = G_SqlClass.GetReader("select GoodsID,StockNum from tb_Stock where GoodsID='"+ PropertyClass.GetGoodsID + "' and StockNum<'" +Convert.ToInt32(txtNum.Text.Trim()) + "'");P_dr2.Read();if (P_dr2.HasRows){MessageBox.Show("库存中没有足够数量的商品,请重新填写销售数量!"); txtNum.Text = "";txtNum.Focus();}else{//执行SQL语句并返回执行结果if (G_SqlClass.GetExecute(P_Str_cmdtxt)){MessageBox.Show("数据添加成功!");ControlStatus();PropertyClass.GetGoodsID = null;}else{MessageBox.Show("数据添加失败!");}}P_dr2.Close();}else{MessageBox.Show("请选择销售员姓名!", "提示对话框", MessageBoxButtons.OK, rmation);}break;case 2:if (this.cbxSellName.SelectedValue.ToString() != ""){string P_Str_Id = String.Empty;//检索数据库中对应客户的IDstring P_Str_cmdtxt2 = "SELECT UserID,Name FROM tb_User WHERE Name='" + this.cbxSellName.SelectedValue.ToString() + "'";SqlDataReader P_dr = G_SqlClass.GetReader(P_Str_cmdtxt2);P_dr.Read();if (P_dr.HasRows){P_Str_Id = P_dr["UserID"].ToString();}P_dr.Close();P_Str_condition = this.dgvSellInfo[0,this.dgvSellInfo.CurrentCell.RowIndex].Value.ToString();P_Str_cmdtxt = "UPDATE tb_Sell SET GoodsName='" +this.txtGoodsName.Text + "',GoodsNum='" + this.txtNum.Text + "'";P_Str_cmdtxt += ",GoodsUnit='"+ this.cbxUnit.SelectedValue.ToString() + "',GoodsTime='" + this.dtBirthday.Value + "'";P_Str_cmdtxt += ",GoodsSpec='" + this.txtSpec.Text +"',UserID='"+P_Str_Id+"',GoodsPrice=" + this.txtGoodsInPrice.Text + "";P_Str_cmdtxt += ",SellPrice=" + this.txtSellPrice.Text + ",Remark='"+ this.txtRemark.Text + "'";P_Str_cmdtxt += ",NeedPay=" + this.txtNeedPay.Text + ",HasPay=" + this.txtHasPay.Text + " WHERE SellID='" + P_Str_condition + "'";if (G_SqlClass.GetExecute(P_Str_cmdtxt)){MessageBox.Show("数据修改成功!");ControlStatus();}else{MessageBox.Show("数据修改失败!");}}else{MessageBox.Show("请选择销售员姓名!", "提示对话框", MessageBoxButtons.OK, rmation);}break;default:break;}//绑定数据显示控件string P_Str_cmdtxt1 = "SELECT SellID,GoodsID as 商品ID,[Name] as 销售员姓名,GoodsName as 商品名称";P_Str_cmdtxt1 += ",GoodsNum as 销售数量,GoodsUnit as 商品单位,GoodsSpec as 商品规格,GoodsTime as 销售时间";P_Str_cmdtxt1 += ",GoodsPrice 进货价格,SellPrice as 销售价格,NeedPay as 应收金额,HasPay as 实收金额,Remark as 备注";P_Str_cmdtxt1 += " FROM v_UserSell";this.dgvSellInfo.DataSource = G_SqlClass.GetDs(P_Str_cmdtxt1).Tables[0];}结果截图:销售之前。

相关文档
最新文档