同步操作将从 sanzk/WMS 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
仓库管理系统练习代码
实现效果:
选择数据库--右键属性--安全性--服务器身份验证--选择SQL Server和 Windows 身份验证模式
选择数据库,右键重启数据库
修改数据库存储位置,创建示例数据库
修改为自己要存放的地址,连接上数据库后直接点击执行,创建示例数据库。
仓库(辅助):仓库管理 仓库分区
产品 (辅助):产品管理 产品人库
仓库温度管理(核心)分区:存储产品
方法中包含的内容:
TopLevel:不能顶级窗体false
FormBorderStyle None
DockFill
AutoScroll:true
WindowStateMaximum
最后将窗体添加到Panel中:Panel.Controls.Add(frm):
建立6张表:
UI:Winform应用程序/WPF/Web
BLL:业务逻辑--业务逻辑处理,连接UI与DAL的桥梁
DAL:数据访问--处理数据(数据库)
此外,还有:
DbUtility:数据访问通用类库
Models:实体模型层 (类:一系列的属性:表中的列名)
DModels--数据表对应实体类
UIModels--UI层,BLL层的实体类
VModels--视图对应的实体类
Common: 辅助工具层
Communicate:通信类库
特性:用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签
反射技术
添加三个特性:
TableAttribute:用来映射数据库表名
ColumnAttribute:映射列名
PrimaryKeyAttribute:标注主键列名
扩展方法:静态类中的静态方法,this修饰--作用于哪个类型,向现有类型添加方法,像调用实例一样使用
GetTName(this Type type)
GetColName(this PropertyInfo property)
string GetPrimary(this Type type)
IsPrimary(this Type type,PropertyInfo property)
IsIncrement(this Type type)
PropertyHelper详解--获取指定类型的指定列名的属性数组
作用类型:实体类、生成Insert Update Select 拼接列名,以“,”隔开的字符串
PropertyInfo[] GetTypeProperties(string cols)
返回全部属性数组:cols-->""
返回部分列的属性数组:cols-->"UserId,username,userpwd"
用到了泛型、反射、扩展方法、字符串的转换
BaseDAL T //其中T表示各种类型,泛型。泛型+反射,实现一个通用类覆盖多个DAL操作类
添加 单个、批量(导入、多个信息同时入库)
修改 单个、批量
删除 按编号(单个或批量)、条件(删除方式)---》条件SQL
添加 :---Add
----------AddList
修改:---Update 以主键为条件/条件修改(两个修改方法)
----------UpdateList
删除:多表联级删除---判断--是否允许删除--条件满足?---允许,删除;不允许,不能删除。
---------Delete 条件删除 单个以ID为条件删除
---------DeleteList 批量删除
查询 条件获取单个实体/多个、判断存在性(例如用户登录)、DataTable/DataSet----BQuery----通用查询类
视图---》 查询,不能修改数据(增加、修改、删除)BQuery
总结:增加、修改、删除功能放在BaseDAL类中;查询功能放在BQuery类中。
在运行项目下 -- Properties --双击Resources.resx--添加资源--添加现有文件
MaximizeBox 设为 False ,最大化按钮设为不可用
登录按钮中的判断:
接收页面输入
检查信息非空检查
登录过程检查用户的存在性 ui--bll--dal,检查(select)--核心
检查结果,作处理:存在成功,显主面;不存在,中断
DAL中的登录方法:账号、密码检查存在---查询
BLL中的登录法:账号、密码,调用DAL中法,返回结果,当userld>0 结果为 true
登录按钮处理程序中,调用B中登录方法,根据结果,进行相应的处理
UMenuButton制作:
外观布局
添加扩展属性:图标、按钮文本
重写OnMouseClick/OnMouseEnter/OnMouseLeave
整个控件的Click事件处理
UPageButton制作--UserControl(Label)
默认设置ForeColor BackgroundImageLayout BtnText Font
重写OnClick ForeColor的变化 LabelClick与用户控件的Click关联
方法1:各分页按钮注册事件,在每个事件中,实例化相关页面,打开,显示到Panel中----不推荐
方法2:将各个页面的Form类名与分页按钮关联,文件夹.Form名称,设置为分页按钮的Tag
1、页面在pannel中显示是不需要边框的,所以设置页面的属性:FormBorderStyle值为None
页面尺寸:Size属性设为:996,585
最小尺寸:MinimumSize:996,585
背景颜色:BackColor:53,61,133(深蓝色)
删除按钮:只针对逻辑删除(单个或多个)批量删除
1.方法:增:清空,改:根据编号获取仓库信息:GetStore(int storeld)
仓库名称已存在(检名称存在性)ExistsStore(string storeName,storeNo)
保存:入库:AddStore(storelnfo)或AddStoreReturnld(storelnfo)
更新:UpdateStore(storelnfo:包括编号)
2.方法实现:DAL--BLL调用DAL的方法,并进行相应的处理
页面加载处理、清空、返回响应
条件仓库分区FindsRegionList(storeldstateld.keywords.isDel
--视图ViewStoreReqionInfos--联合仓库信与分区信息
1.建视图
2.创建视图实体类
3.封装查询方法DA
4.在StoreRegionBLL中定义调用法:调用第3步中封装的方法
2.字体变更:工具--选项--环境--字体和颜色--选择 文本编辑器--选择Consolas字体
3.离线编译生成跳过还原NuGet包:工具--选项--NuGet包管理--取消勾选 在Visual Studio中生成期间自动检查缺少的程序包
4.代码片段:快速生成函数代码:ctor ; 快速生成变量:prop
5.代码格式自动整理快捷键:先按CTRL+K 释放后再按CTRL+D
解决办法: 重新启动SQL Server,错误将消失。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。