2022年设备管理系统的核心代码 2.pdf

上传人:Q****o 文档编号:30543962 上传时间:2022-08-06 格式:PDF 页数:9 大小:64.94KB
返回 下载 相关 举报
2022年设备管理系统的核心代码 2.pdf_第1页
第1页 / 共9页
2022年设备管理系统的核心代码 2.pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《2022年设备管理系统的核心代码 2.pdf》由会员分享,可在线阅读,更多相关《2022年设备管理系统的核心代码 2.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、连接数据库的代码都放置在了DBConnect 类中,其私有成员变量:public string StringConnect; public string StringCommand; private SqlConnection sqlConn; private SqlCommand sqlComm; private SqlDataReader sqlReader; private SqlDataAdapter sqlAdapter; private DataTable dt; 其中,两个 string 类型的变量分别用做DBConnect 类连接数据库时使用的连接字符串和其他成员函数传递SQL

2、 代码到数据库中。其他成员变量为.NET Framework 提供了连接数据库的类型对象。/获取当前用户的信息public bool CheckLogin(string id, string pwd) bool res = false; StringCommand = Select count(*) from tblUser where Id= + id + and Pwd= + pwd + ; try Open(); if (int)sqlComm.ExecuteScalar() 0) res = true; catch (Exception ex) MessageBox .Show(ex.

3、Message); finally Close(); return res; 备份数据库和还原数据的代码独立于DBClass,放置在 BackupDB 中, 备份和还原的功能实现均是 SQL Server 2008 提供的,本系统只是传递了SQL 代码信息而已,代码如下:public static void Backup() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - string strComm = use master;

4、 + BACKUP DATABASE EquipmentManagement + TO DISK = + backfileDirectory + + GetDefaultFileName() + + WITH FORMAT; + use EquipmentManagement; ; SqlCommand sqlComm = new SqlCommand(strComm, sqlConn); try sqlConn.Open(); sqlComm.ExecuteNonQuery(); MessageBox.Show(已完成备份,备份文件位于n + backfileDirectory + 文件夹中

5、。); catch (Exception ex) MessageBox.Show(备份时发生错误: + ex.Message); finally sqlConn.Close(); public static void Restore() /杀死 Equipment数据库相关进程if (!KillProcessTo(EquipmentManagement) return; System.DateTime today = System.DateTime.Today; string fileSelected = GetFileSelectedPath(backfileDirectory); if(f

6、ileSelected != null) string strComm = use master; + /将数据库设置为单用户模式EXEC sp_dboption EquipmentManagement, SINGLE USER, TRUE; + RESTORE DATABASE EquipmentManagement + FROM DISK = + fileSelected + + WITH REPLACE + use EquipmentManagement; ; SqlCommand sqlComm = new SqlCommand(strComm, sqlConn); 名师资料总结 -

7、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - try sqlConn.Open(); sqlComm.ExecuteNonQuery(); MessageBox.Show(已从 + fileSelected + 文件完成还原。 ); catch (Exception ex) MessageBox.Show(还原时发生错误: + ex.Message); finally sqlConn.Close(); BuyObject、DeviceObjec

8、t、Manager类型对象主要是为了客户端便于与数据库交互,它们分别代码数据库中的三张表:购置表、设备表和管理人员表,类的成员变量分别对应数据库中的表的字段。ImagePathConverter 和PasswordConverter 两个用户在执行数据绑定时,可以将数据绑定到WPF控件之前,将数据表达成或者说转化为另一种形式显示。工程中的 SubWindows文件夹中保存了若干个UserControl控件,每个控件将作为一个子窗口动态的替换(或添加,如果主窗口中没有其他子窗口)到主窗口中。 . . 替换子窗口的后台代码为,首先在主窗口的类(WindowMani 中为每个子窗口添加一个成员变量,

9、在需要执行切换窗口的时候声明并使用):public partial classWindowMain : RibbonWindow private SubWindows.BuyEquipment subwindow_BuyEquipment; private SubWindows.ManagementEquipment subwindow_ManagementEquipment; private SubWindows.Users subwindow_Users; private SubWindows.UserSwitch subwindow_UserSwitch; 名师资料总结 - - -精品资

10、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - private SubWindows.BackupDB subwindow_BackupDB; private SubWindows.TransferEquipment subwindow_TransferEquipment; private SubWindows.RemoveEquipment subwindow_RemoveEquipment; private SubWindows.ErrorRecord

11、subwindow_ErrorRecord; private SubWindows.RepairRecord subwindow_RepairRecord; . . /设备购置private void ribbonButton111_Click(object sender, RoutedEventArgs e) if (subwindow_BuyEquipment = null) subwindow_BuyEquipment = new SubWindows.BuyEquipment(); ShowSubWindow(subwindow_BuyEquipment); /设备记录private

12、void ribbonButton121_Click(object sender, RoutedEventArgs e) if (subwindow_ManagementEquipment = null) subwindow_ManagementEquipment = new SubWindows.ManagementEquipment(); ShowSubWindow(subwindow_ManagementEquipment); /设备调拨private void ribbonButton112_Click(object sender, RoutedEventArgs e) if (sub

13、window_TransferEquipment = null) subwindow_TransferEquipment = new SubWindows.TransferEquipment(); ShowSubWindow(subwindow_TransferEquipment); /设备报废private void ribbonButton113_Click(object sender, RoutedEventArgs e) if (subwindow_RemoveEquipment = null) subwindow_RemoveEquipment = new SubWindows.Re

14、moveEquipment(); ShowSubWindow(subwindow_RemoveEquipment); /故障记录private void ribbonButton131_Click(object sender, RoutedEventArgs e) if (subwindow_ErrorRecord = null) subwindow_ErrorRecord = new SubWindows.ErrorRecord(); ShowSubWindow(subwindow_ErrorRecord); /维修记录名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

15、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - private void ribbonButton132_Click(object sender, RoutedEventArgs e) if (subwindow_RepairRecord = null) subwindow_RepairRecord = new SubWindows.RepairRecord(); ShowSubWindow(subwindow_RepairRecord); /备份/还原数据库private void ribbonB

16、utton211_Click(object sender, RoutedEventArgs e) if (subwindow_BackupDB = null) subwindow_BackupDB = new SubWindows.BackupDB(); ShowSubWindow(subwindow_BackupDB); /系统用户private void ribbonButton221_Click(object sender, RoutedEventArgs e) if (subwindow_Users = null) subwindow_Users = new SubWindows.Us

17、ers(); ShowSubWindow(subwindow_Users); /用户切换private void ribbonButton222_Click(object sender, RoutedEventArgs e) if (subwindow_UserSwitch = null) subwindow_UserSwitch = new SubWindows.UserSwitch(); ShowSubWindow(subwindow_UserSwitch); public void ShowSubWindow(UserControl userCtl) /此处可每次单击即释放一个用户控件并

18、创建另一个用户控件if (this.LayoutRoot.Children.Count 1) this.LayoutRoot.Children.RemoveAt(1); if (userCtl != null) /从WindowMain.Tag 中检索当前管理员权限类型,并设置True和False到/用户控件 .Tag中指示当前用户是否为系统管理员userCtl.Tag = (App.isSysManager ? true : false); this.LayoutRoot.Children.Add(userCtl); Grid.SetRow(userCtl, 1); 名师资料总结 - - -

19、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 子窗口页面的布局基本如下(以ManagementEquipment为例),主题使用 WPF的Grid进行整体布局,第一行为一个 TextBlock,显示一个标题;第二行是一个DataGrid控件,其数据源绑定到了Grid的数据上下文中,绑定代码如下:protectedoverride void OnInitialized( EventArgs e) base .OnInitialized(e); this

20、.grid1.DataContext = App.dbConn.GetDeviceTable(); 该函数使得 Grid的数据上下文设置为GetDeviceTable返回的表,该表即设备表。回到Grid的布局控制,第三行即一个 WPF的Expander控件,在该控件中放置了若干个按钮,按钮的布局可以使用Grid、StackPanel 或DockPanel等。在这些布局控件中,又可以继续使用其他元素放置在其中。最后一行是一个TextBlock 控件,用于显示一段帮助文本。 设备管理 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -

21、名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 刷新 修改 插入 删除 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - !- !- !- 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - App类代表整个工程的应

22、用程序对象,在其中可以放置一些代码,以便整个工程都可以访问到。例如,本系统中将主窗口的对象添加为App的成员,以便所有的子窗口都可以通过App联系到主窗口:public partial classApp : Application public static WindowMain AppWndMain; 另外还放置了一个 DBConnect的类型对象作为其成员,以便任何需要访问数据的地方,都可以通过DBConnect对象访问数据库。public partial classApp : Application public static DBClass.DBConnect dbConn = new DBClass.DBConnect(Project1.Properties.Resources .globleStrConn); 目前,App中只添加了一个自定义的成员函数Submit,用于登录窗口( MainWindow )和用户切换子窗口(UserSwich)都可以执行登录代码,并设置一些关键信息(如是否是管理员)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁