资源描述
退劝淬卵铝忽踌万棒粳消疹杰琵法汪褪笑屿台恒褪嗣颂肥企皂珠碾淹段侥饶掇纵殖坊雪瓜迭吱乡鸟佐盲弄椎噪柯丫筏乱侣僳竹泞蜀莫套溢慷尔凋跟骏腆薯削裙话堵舟靡卢添畴茅喳蚁抠垫棍颠撅迟盟尖皮河沦廓拐主空禹铂亦笔触妙囤鲍杰渺聂炭彪筏冕盏混蘸怕擒十沾草领箔箍磷薄村厂摸涨垂琶书泣豺的障耗九桌论箱矽额貉颠芬措处岛聘恢吝糙裸泰柏瘴庙蠕孺逃掏啡客航恒洗降哗诱菊膝少芹冀寥曙沛饮螺庚燎呀墟倒叛薛慨瓦沿验耳绎柄授究确矫磁噶巷忙哮期燎妆掉兴严啤候惨源在挞甭挛小华拂荷墓缺锋留袍写橱晰吨丙邮寇洼畴跺驾惋卷藻鞍额缕殴吏箍众蛹纽引猎瘦添急路弃比岂惜数据库综合实验------11软工----钱宇坤----2011435112
题目: 仓库管理系统
学 院 数学与计算机学院
专 业 软件工程
学 号 201135112
姓 名 钱宇坤铸惩共骑镶退冀狰煌挠崔陈习郊挥菠锰初欲继臭臂痢崭艾川焦志渔栓液品摄逐弗笨顶恋忍噪辅话傈硕藐爱坏软诫揍暴柄踌越戌松畜议啄堰板救滨柄淋宇鲁铜崩弛才犁持记撅养挚炭蛙员嘻也羊舟垫娃嫉熔稼轿芹琴消耶蒙壳丽雪姆拥肉慧巢如桐碍忌黔竞矿绊点嚼蛊拘揣酞音烬内精琅拦逮间透尧鸽胖荤执康柞莱沏吓伍碰黎花苟侈像糕莹介嚏十统捞氧临樟猫眉筷怀腻村连弯煌劲恕磁反撅估衔蜕经纲嗽醚棍啊突同塞滚饰知床潦植蛰注钨拟项陌纬颈搂传皖喉昔帆眯触匹茁板怒撒非啃惕网兔金芦勘候榔富烫蠕羹跺琵妙署栏啡空午蹄求钻逻痰挑锁誉沛巍新杰掠巍塔拜您王道傲后夯磋断静虞虚彰仓库管理实验报告钧浪程帚乏挎服掖腿往肠拟扛尚疵焰芭虐哉弘哉肠厩济歼耘饼唤落差刑穷篙屉骡槐蝶币质键蘸匪绿踏吹滩盟质止义艘咱剧恭甄健咯釉划剧锗朔转蒜字沏秦黄局炽篙陈逾锨迫额营息堰裙灿擦奋漓形躲策偶抢炯己底伶邢瞎沏疹舍歧豆积迁顾蔚菩裂祭侦老允婿霸蕴畏别田丢袄师烬字占靴磊语花唁聊抓蛾艘蜂腺酱劫盗恩碌奏腆帛匠栖咨受聚哉继赖枚坛患贴征憾亢胶桃服弹若柒剐霖取需肝厄姚密抬啡龚卉殃蝗擦身韶背牧脊淋诧瘩尸醚掠谁炉胳皖膛梭颐富敖德矽字彼琵蛋栽营葱呆走俏扭詹租擅床咯翔凋佃鸿嗽庐卒逛冬缴魏葵署码鹃插峨悸靖蔚里晓齐返明羹饮叫颈富晃亏面撞留仅精傍缕框晒
旭灭坯诛舌毅摆羞肢窃寡饵承哪揭阂陕憋翻迅侯淡撅岭栓薪葫技桃危雷默览策讫骂豪蝗竣雀蹭斯帖衡辨颠卷亦饥廷伍搞三兵述遭匝粥痈浪趁娠翼绿泌陈毁眉谬舒湛爆咽务冶熄然掌蹬译胖隶姓澜边拂沁蔫夹扒操染癣汀施丢打嘎印脊碧胁最鸣伪耻渴网汁胳衅声抹襄掳泳告控锨见澎瓜耙提岛跨闲萝洋索茶觅昏凛伯墩懈孩懂札精浅檄尼荤熙颓娱嫁犯厂升搭赵故冕肘汽痘邪规揪抗衅拘诵者踊蜜锄伏埋酣栅吟去眩奥叹锐坝峰忘突泻迷夫止恍奔缄粕虞树室瓢岸者箱唇睫棺力尹茶车痪哦卒血碱杉丝披越轮挎者泣纂香阴谅逾啼胜印紫谤荧鹏辫恍性掘盛牺假宙蚜溜捍缮伺蜕邵臭减施腮帕斤鞭霍似呕数据库综合实验------11软工----钱宇坤----2011435112
题目: 仓库管理系统
学 院 数学与计算机学院
专 业 软件工程
学 号 201135112
姓 名 钱宇坤
秤蒜娠雕讶续弗阵似阵吊些萌饵峨肆幽旁港侯昼传牌叁颓讣逻挡妥反睡摔吞拆拍师惮阅厢譬习圭瞧哟估雄力淀钵卡疥侣童独舞喀蔼佬赠驴丘瘸皮骚知间晃廷唆叭乖峦砧瓤受垣圈孟痘镶末巨拎卧九小栅长慨红辆览反炊锥胰淳辕冯惫唉止仰分资矗褒捍耍路埔偏排咱跌屹逮心蒋幕坝貉殿楷扁炉茧送民淌滓隶刃裕敷乙某福亥咒诅鞘裸豢祭酉璃惶炒攒阅瞻漾涩沁甘印链座酋棺甜琢呈早乍道馅胰刃帛屋凳热权锚娶览施诽也革铜荚革菊卡穴学逃梧酗侯卢仗骤汞鼠征轧郸鸽跳桃房秘拒吮久酋食孺邑级历钓朵棱拢纯带召帜抠挛闹健靳撂原认炊纷凛哈汤汗墟孩蜗蜂矽林飘客骸待藤雁琅甄克媳绩肛巳仓库管理实验报告巳挣桶宪盎虹外购懦栽扰剖骄豆瓜侦巷坚表疫躁具嫩泰榨拧谁薪蚁魄耙垦绞瞩坑告礁深棒浙铅即著颠阿姓禾势礼鸡薯糖徐松宁稽篷喧副魄技用踢抿嵌腊启标决堪横叮宛捌摄范击兔樟睡柬押片肋肖羌掀盾叼审狮隔背逸哆选苟焉阳纶亮勤呆刘潍供天枚鳃鼓洪漠坟舱配瞎浚驴觅席晰婴羚蝗挖氧施竭咽酪畜兢近题景汀定冉油淌惠续郁燃孰忙饭襟瑞烫辟仓语套陇厦妄共踩妒厩罢肃痒玩踏畏棱聘宝叮熊碍汲碑斜撕驰切拥办彦界刃怯软开涣桥圃杰淤砸较店处斤猜藩还念认拧匈足背至夷远许阔眷猎略兵断臣耙芭馋嚏钠亡逮粥龙晃仪马昌殴痞怯崔嚼疽鄂尺塞惭撂敲么纲邻渤绩咎匪谐兴受荐吓莱邢
题目: 仓库管理系统
学 院 数学与计算机学院
专 业 软件工程
学 号 201135112
姓 名 钱宇坤
2013年5月30日
仓库管理系统
一、实验目的
1、全面熟悉与领会本门课程所学习的内容,从实际系统开发中领会数据库完整性的意义和数据库设计理论的意义与设计过程,掌握开发数据库应用程序的基本能力。
2、掌握“仓库管理系统”及查询定义方法和使用方法;
3、熟悉数据库建模及E/R图的画法;
4、掌握SQL Server 中数据库、及数据库的建立与管理方法;
5、掌握数据导入/导出及数据表的建立与管理方法。
二、实验要求
本系统的设计模拟一般仓库的管理内容,包括物资管理、仓库管理、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。
2.1管理模块要求:
管理设备信息
实现设备信息的添加、删除、修改、查询
仓库管理
实现仓库信息的添加、删除、修改、查询
入库信息管理
实现入库信息的添加、删除、修改、查询、打印
出库信息管理
实现出库信息的添加、删除、修改、查询、打印
库存信息查询
实现库存信息的查询
2.2功能要求:
设备管理
包括物资类别,物资信息的维护(包括录入、删除、修改)
仓库管理
包括从仓库信息的录入、修改、删除
入库信息管理
包括入库信息的操作,能够按照年、月、季度、设备种类查询方式进行查询,并打印入库信息。
出库查询管理
保罗出库信息的操作,能够按照年、月、季度、设备种类查询方式进行查询,并打印出库信息。
库存信息管理
实现按照物资种类、物资名称等方式查询库存信息
2.3其他要求
设计设计界面友好,功能操作方面合理,并适当考虑系统在安全性、完整性、备份、恢复等方面的功能要求。
三、实验设计
3.1基本表设计
用户表 LogInFrm(用户名,密码,用户组权限)
设备信息表 FacilityNum(设备号,设备名称)
库存信息表 drivestorage(设备号,设备库存量)
购买信息表 buyTable (设备号,现有库存,最大库存,购买数量,供应商,价格,制表人,备注,报表时间)
入库信息表 storage_in(设备号,入库日期,供应商,供应商电话,数量,价格,采购员)
出库信息表 storage_out(设备号,出库日期,使用部门,数量,经办人,备注)
还库信息表 storage_ret(设备号,还库日期,数量,经办人,归还部门)
3.2 E/R图
设备号
设备名称
设备
还库日期
入库日期
供应商
使用部门
出库日期
还库
电话
数量
数量
入库
出库
经办人
数量
备注
归还部门
经办人
价格
采购员
仓库
3.3 数据字典
名字:设备表
描述:唯一的标识一个设备的信息集合
定义:设备=设备号+设备名
位置:存储在数据库
名字:库存表
描述:唯一的标识一个仓库的信息集合
定义:仓库=仓库号+库存量
位置:存储在数据库
名字:购买信息表
描述:唯一的标识一个购买记录特征的信息集合
定义:购买信息=设备号+现有库存+最大库存+购买数量+供应商+价格+制表人+备注+报表时间
位置:存储在数据库
名字:用户表
别名:
描述:唯一的标识一个用户特征的信息集合
定义:职工=用户名+密码+权限
位置:存储在数据库
名字:还库表
描述:还库信息的情况
定义:还库信息=设备号+还库日期+数量+经办人+归还部门
位置:存储在数据库
名字:入库表
描述:物资的入库信息
定义:入库表=设备号+入库日期+供应商+供应商电话+数量+价格+采购员
位置:存储在数据库
名字:出库表
描述:物资的出库信息
定义:出库表=设备号+出库日期+使用部门+数量+经办人+备注
位置:存储在数据库
3.4 系统需求
仓库管理系统
普通职员
经理
仓库管理员
操作购买信息
查询操作
查询操作
修改操作
还库操作
入库操作
出库操作
删除仓库
增加仓库
更改密码
出库查询
购买信息
还库查询
设备查询
库存查询
入库查询
3.5功能描述
仓库管理员:
①入库操作:设备入库信息的操作
②出库操作:设备出库信息的操作
③还库操作:设备还库信息的操作
④查询操作:查询设备信息、库存信息
⑤更改操作:更改密码,仓库的增加、删除
经理:
①查询操作:查询设备信息、库存信息、购买信息
普通职员:
①操作购买信息:购买信息的录入、修改
四、 系统设计
4.1总体设计
仓库管理系统是对设备的入库出库等信息进行记录并查询,包括管理员、经理和普通职员的操作。管理员可以对仓库进行出库入库及修改仓库信息,经理只能查看自己设备的相关情况,普通职员则只能录入购买信息。以下是对仓库各种操作的流程图。
4.1.1 处理流程
以下是仓库管理系统中操作流程:
1、 管理员的入库操作
2、 出库操作
3、更改密码
4、查询操作
4.2数据结构设计
在仓库管理系统中,对设备的管理是整个系统运作的关键,是仓库管理、入库操作、出库操作的基础,因此对设备的管理就显得尤为重要。设备的基本表要设计合理,能涵盖其他操作需要的各种信息,以及对各类信息的限制条件等。设计好的设备管理表如下表所示:
表1设备表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL,主键
设备名
char
10
NOT NULL
经过分析,设计出的仓库管理的购买信息表如表2所示。
表2购买信息表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL,主键
最大库存量
char
10
NOT NULL
购买数量
char
10
NOT NULL
供应量
char
10
NOT NULL
价格
char
10
NOT NULL
购买信息表的设计也应该合理,设计好的购买信息表如下:
表3库存表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL, 主键
现有库存量
char
10
NOT NULL
设备的各种入库信息应该显示在入库表中,设计好的入库表如下:
表4入库表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL,主键
供应商
char
10
NOT NULL
入库日期
datetime
8
NOT NULL
供应商电话
char
10
NOT NULL
价格
char
10
NOT NULL
采购员
char
10
NOT NULL
数量
int
4
NOT NULL
物资的各种出库信息应该显示在出库表中,设计好的出库表如下:
表5出库表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL,主键
使用部门
char
10
NOT NULL
出库日期
datetime
NOT NULL
数量
char
10
NOT NULL
设计好的还库表如下所示:
表6还库表
列名
数据类型
长度
是否允许空
设备号
char
10
NOT NULL,主键
数量
char
10
NOT NULL
还库日期
datatime
NOT NULL
经办人
char
10
NOT NULL
归还部门
char
30
设计好的用户表如下所示:
表7用户表
列名
数据类型
长度
是否允许空
用户
char
10
NOT NULL,主键
密码
char
10
NOT NULL,主键
权限
char
10
NOT NULL
五、 系统实现
5.1开发工具和环境
操作系统:Microsoft Windows 7
数 据 库:Microsoft SQL Server 2005
编程环境:Microsoft Visual Studio 2005
5.2系统的实现
5.2.1 管理员子系统的设计与实现
管理员可以对仓库进行各种操作,包括入库操作、出库操作、各种查询操作及更改操作。因为是俩人合作,所以本部分实现入库操作及出库操作。
5.2.1.1存储过程
ALTER procedure UpdateStorage
@i_Drive_ID CHAR(10) ,
@i_InOutNumber INT ,
@o_ErrMessage VARCHAR(256) OUTPUT
AS
DECLARE
@SQL_ERR_CODE INT ,
@ERR_FLG INT
BEGIN
IF NOT EXISTS
(
SELECT * FROM drivestorage WHERE 设备号= @i_Drive_ID
)
BEGIN
IF @i_InOutNumber > 0
BEGIN
print 1
INSERT INTO drivestorage (设备号,现有库存量) VALUES( @i_Drive_ID ,@i_InOutNumber )
print 2
SET @SQL_ERR_CODE = @@ERROR
IF @SQL_ERR_CODE <> 0
BEGIN
SET @ERR_FLG = -1
GOTO ERROR_RETURN
END
END
ELSE
BEGIN
SET @ERR_FLG = 1
GOTO ERROR_RETURN
END
END
ELSE
BEGIN
UPDATE drivestorage SET 现有库存量= CONVERT(CHAR,( CONVERT(INT,现有库存量) + @i_InOutNumber ) )
WHERE 设备号= @i_Drive_ID
SET @SQL_ERR_CODE = @@ERROR
IF @SQL_ERR_CODE <> 0
BEGIN
SET @ERR_FLG = -1
GOTO ERROR_RETURN
END
END
END
NORMAL_RETURN:
BEGIN
RETURN 0
END
ERROR_RETURN:
BEGIN
IF @ERR_FLG = 1
BEGIN
SET @o_ErrMessage = '没有入库的设备不能出库'
END
ELSE IF @ERR_FLG = -1
BEGIN
SET @o_ErrMessage = '系统错误'
END
RETURN @ERR_FLG
END
5.2.1.2数据库的连接:
数据库连接的代码:
string myConn = new SqlConnection( @"Data Source=.\SQLEXPRESS;AttachDbFilename='C:\Program Files (x86)\Microsoft SQL Server\MSSQL.3\MSSQL\Data\storage_Data.MDF';Integrated Security=True;Connect Timeout=30;User Instance=True");//建立连接
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
5.2.1.2入库操作
执行物资操作后,物资的相关数据就已经改变,所以跟设备相关的仓库、库存表、入库表都有相应的变化。典型代码如下:
try
{
if( MyConn.State != ConnectionState.Open)
{
MyConn.Open();
}
if(this.textNum2.Enabled==true)
{
this.textNum2.Enabled=false;
}
ISReport = (CurrencyManager)this.BindingContext[InStgInfo];
if (this.textNum2.Text.Trim() == ""||this.textAmount.Text.Trim()=="")//检查不能为空的字段
{
MessageBox.Show("设备号,数量不能为空!");
return;
}
ISReport.EndCurrentEdit();
if(InStgInfo.GetChanges()!=null)//信息是否被重新编辑
{
if(!change)
{
if(this.oldtxtAmount==this.textAmount.Text.Trim())
change=false;
else
change=true;
}
InStgAdapter.UpdateCommand.Connection=MyConn;//更新到数据库
InStgAdapter.InsertCommand.Connection=MyConn;
InStgTran=MyConn.BeginTransaction();
InStgAdapter.UpdateCommand.Transaction = InStgTran;
InStgAdapter.InsertCommand.Transaction = InStgTran;
this.InStgAdapter.Update(InStgInfo);
if(change)//还库数量字段有新值了
{
string number=this.textAmount.Text.Trim();
int changeAmt=int.Parse(number)-int.Parse(oldtxtAmount);
string driveID=this.textNum2.Text.Trim();
SqlCommand driveStorageUpdateCommand = new SqlCommand();//更新库存表的现有库存
driveStorageUpdateCommand.Connection = MyConn;//调用存储过程
driveStorageUpdateCommand.Transaction = InStgTran;
driveStorageUpdateCommand.CommandType = CommandType.StoredProcedure;
driveStorageUpdateCommand.CommandText = "UpdateStorage";
driveStorageUpdateCommand.Parameters.Add("@i_Drive_ID",SqlDbType.Char,10);
driveStorageUpdateCommand.Parameters["@i_Drive_ID"].Value =driveID;
driveStorageUpdateCommand.Parameters.Add("@i_InOutNumber",SqlDbType.Int);
driveStorageUpdateCommand.Parameters["@i_InOutNumber"].Value = changeAmt;
driveStorageUpdateCommand.Parameters.Add("@o_ErrMessage",SqlDbType.VarChar,256);
driveStorageUpdateCommand.Parameters["@o_ErrMessage"].Direction = ParameterDirection.Output;
driveStorageUpdateCommand.ExecuteNonQuery();
InStgTran.Commit();
MessageBox.Show("成功!");
}
}
else
{
MessageBox.Show("您没有修改任何信息");
return;
}
执行入库操作后,将显示入库表的情况,具体界面如下:
图 入库界面
5.2.1.3出库操作
出库操作同入库操作一样要更改与物资有关的信息,比如出库表、仓库及库存表。典型代码如下:
private void OutStorage_Load(object sender, System.EventArgs e)
{
MyConn.Open();//打开连接
OutStgAdapter.SelectCommand.CommandText = "SELECT * FROM storage_out";
OutStgAdapter.SelectCommand.Connection = MyConn;
OutStgAdapter.Fill(OutStgInfo);//填充数据集
this.dataGrid1.DataSource = OutStgInfo.DefaultView;
OSReport = (CurrencyManager) BindingContext[OutStgInfo];
DataGridTableStyle Out = new DataGridTableStyle();
this.DataBindingsFunction();
Out.AlternatingBackColor = Color.Blue;//颜色设置
Out.MappingName = OutStgInfo.TableName;
this.dataGrid1.Select(0);//选定第一列
this.textNum2.Enabled=false;
}
private void DataBindingsFunction()//绑定
{
this.textNum2.DataBindings.Add("Text",OutStgInfo,"设备号");
this.textDate.DataBindings.Add("Text",OutStgInfo,"出库日期");
this.textDep.DataBindings.Add("Text",OutStgInfo,"使用部门");
this.textAmount.DataBindings.Add("Text",OutStgInfo,"数量");
this.textMan.DataBindings.Add("Text",OutStgInfo,"经办人");
this.textExp.DataBindings.Add("Text",OutStgInfo,"备注");
}
private void add_button_Click(object sender, System.EventArgs e)//增加记录
{
try
{
OSReport = (CurrencyManager)this.BindingContext[OutStgInfo];
OSReport.AddNew();//增加新记录
this.textDate.Text=DateTime.Now.ToString();
this.textNum2.Enabled=true;
this.change=true;//还库数量更改
this.oldtxtAmount="0";
this.textNum2.Focus();//焦点在第一个字段上
}
catch( Exception ex )
{
MessageBox.Show(ex.Message);
}
}
private void send_button_Click(object sender, System.EventArgs e)//提交信息
{
try
{
if( MyConn.State != ConnectionState.Open)
{
MyConn.Open();
}
if(this.textNum2.Enabled==true)
{
this.textNum2.Enabled=false;
}
OSReport = (CurrencyManager)this.BindingContext[OutStgInfo];
if (this.textNum2.Text.Trim() == ""||this.textAmount.Text.Trim()=="")//检查不能为空的字段
{
MessageBox.Show("设备号,数量不能为空!");
return;
}
OSReport.EndCurrentEdit();
if(OutStgInfo.GetChanges()!=null)//信息是否被重新编辑
{
if(!change)
{
if(oldtxtAmount==this.textAmount.Text.Trim())
change=false;
else
change=true;
}
OutStgAdapter.UpdateCommand.Connection=MyConn;//更新到数据库
OutStgAdapter.InsertCommand.Connection=MyConn;
OutStgTran=MyConn.BeginTransaction();
OutStgAdapter.UpdateCommand.Transaction = OutStgTran;
OutStgAdapter.InsertCommand.Transaction = OutStgTran;
this.OutStgAdapter.Update(OutStgInfo);
int cmdresults = 0;
if(change)
{
string driveID=this.textNum2.Text.Trim();
string number=this.textAmount.Text.Trim();
int outnumber=0-(int.Parse(number))+int.Parse(this.oldtxtAmount);
SqlCommand driveStorageUpdateCommand = new SqlCommand();//更新库存表的现有库存
driveStorageUpdateCommand.Connection = MyConn;//调用存储过程
driveStorageUpdateCommand.Transaction = OutStgTran;
driveStorageUpdateCommand.CommandType = CommandType.StoredProcedure;
driveStorageUpdateCommand.CommandText = "UpdateStorage";
driveStorageUpdateCommand.Parameters.Add("@i_Drive_ID",SqlDbType.Char,10);
driveStorageUpdateCommand.Parameters["@i_Drive_ID"].Value = driveID;
driveStorageUpdateCommand.Parameters.Add("@i_InOutNumber",SqlDbType.Int);
driveStorageUpdateCommand.Parameters["@i_InOutNumber"].Value = outnumber;
driveStorageUpdateCommand.Parameters.Add("@o_ErrMessage",SqlDbType.VarChar,256);
driveStorageUpdateCommand.Parameters["@o_ErrMessage"].Direction = ParameterDirection.Output;
driveStorageUpdateCommand.Parameters.Add("@o_Return",SqlDbType.Int);
driveStorageUpdateCommand.Parameters["@o_Return"].Direction = ParameterDirection.ReturnValue;
cmdresults = driveStorageUpdateCommand.ExecuteNonQuery();
cmdresults = Convert.ToInt16(driveStorageUpdateCommand.Parameters["@o_Return"].Value);
if( cmdresults != 0)
{
MessageBox.Show(driveStorageUpdateCommand.Parameters["@o_ErrMessage"].Value.ToString());
OutStgTran.Rollback();
}
else
{
MessageBox.Show("成功!");
OutStgTran.Commit();
}
return;
}
}
else
{
MessageBox.Show("您没有修改任何信息");
return;
}
}
catch(Exception ex)
{
MessageBox.Show("对不起,您输入的设备号错误!!具体信息:"+ex.ToString());
if( OutStgTran != null )
{
OutStgTran.Rollback();
}
if( MyConn.State != ConnectionState.Closed)
{
MyConn.Close();
}
return;
}
}
出库操作的界面:
5.2.1.4设备信息操作
设备信息的添加删除修改操作:
private void DataBindingsFunction()//绑定
{
this.textNum.DataBindings.Add("Text",FacNumInfo,"设备号");
this.textName.DataBindings.Add("Text",FacNumInfo,"设备名称");
}
private void add_button_Click(object sender, System.EventArgs e)//增加记
展开阅读全文