项目初始框架-20
1.项目初始框架
第一步:新建一个解决方案为HRMSys,项目名为HRMSys.UI点击确定。
第二步:在解决方案的根目录下新建项目:HRMSys.DAL和HRMSys.Model
第三步:为HRMSys.DAL添加一个为:SqlHelper.cs的类,代码如下:同时为其添加“System.Configuration”的引用,点击引用,添加引用,在.NET中找到。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Data.SqlClient; using System.Data; namespace HRMSys.DAL { static class SqlHelper { //每个实例都需要查看是否修改连接字符串 private static string connStr = ConfigurationManager.ConnectionStrings["dbLoginConnStr"].ConnectionString; //封装方法的原则是:把不变的放到方法里,变化的方法参数中 public static int ExecuteNonQuery(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; return cmd.ExecuteNonQuery(); } } } public static void ExecuteNonQuery(string sql, params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; cmd.Parameters.AddRange(parameters); cmd.ExecuteNonQuery(); } } } public static object ExecuteScalar(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; return cmd.ExecuteScalar(); } } } public static DataSet ExecuteDataSet(string sql) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); return dataset; } } } public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = sql; cmd.Parameters.AddRange(parameters); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adapter.Fill(ds); return ds.Tables[0]; } } } public static object FromDbValue(object value) { if (value == DBNull.Value) { return null; } else { return value; } } public static object ToDbValue(object value)//private是类内部的方法,现在需要变成公用的,所以修改private为public { if (value == null) { return DBNull.Value; } else { return value; } } } }
第四步:在HRMSys.UI中添加新项目-应用程序配置文件,为App.config,代码如下:并添加images文件夹,里面添加图标图像.ico.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="dbLoginConnStr" connectionString="Data Source=.; Initial Catalog=HRMSYSDB; User ID=hrmsa ;Password=love@beijing"/> </connectionStrings> </configuration>
第五步:根据配置文件来创建和修改数据库。
1.新建一个数据库:HRMSYSDB ,并禁用账号sa
2.在根目录下的-->‘安全性’-->登录名-->右击添加登录名-->登录名为:hrmsa ,SqlServer模式 密码:love@beijing。sa属性-->状态--->禁用。
3.在HRMSYSDB 数据库下得‘安全性’-->‘用户’-->登录名-->用户名和登录名均为:hrmsa ,
4.在数据库中新建表T_Operator,如下:uniqueidentifier不是自动增长的,需赋值,
插入数据:insert into T_Operator (Id,UserName,Password) values(NEWID(),'张三' ,'1234');
第六步“在HRMSys.Model中添加Operator.cs类。代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HRMSys.Model { public class Operator// 一定要添加public,不然在其他的项目中无法访问它。 { public Guid Id { get; set; } public string UserName { get; set; } public string Password { get; set; } } }
第七步:在HRMSys.DAL中添加OperatorDAL.cs类,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using HRMSys.Model; using System.Data.SqlClient; namespace HRMSys.DAL { public class OperatorDAL { public void Insert(Operator op) //需要HRMSys.DAL添加对HRMSys.Model的引用,引用-->右击添加引用-->项目 { SqlHelper.ExecuteNonQuery(@"insert into T_Operator (Id,UserName,Password) values(newid(),@UserName,@Password)", new SqlParameter("@UserName", op.UserName), new SqlParameter("@Password", op.Password)); } } }
第八步:在UI项目的MainWindow.xaml中为 <MenuItem Name="miOperatorMgr" Header="操作员管理" Click="miOperatorMgr_Click"></MenuItem>
添加Name属性和Click事件,代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using HRMSys.DAL; using HRMSys.Model; namespace HRMSys.UI//UI层需要添加对DAL和Model的引用。引用-->右击添加引用-->项目 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void miOperatorMgr_Click(object sender, RoutedEventArgs e) { Operator op = new Operator();//注意1.App.config要放在UI层中。 op.UserName = "李四";//2.DAL层通过ConfigurationManager可以读取主项目中的配置文件中得信息。 op.Password = "123";//引用关系:DAL引用Model,UI引用DAL和Model OperatorDAL dal = new OperatorDAL(); dal.Insert(op); } } }
注意事项:1.App.config要放在UI层中。
2.DAL层通过ConfigurationManager可以读取主项目中的配置文件中得信息。
3.引用关系:DAL引用Model,UI引用DAL和Model