• 项目初始框架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

  • 相关阅读:
    登陆的一个大概流程
    过滤器实现编码过滤处理
    注册的一个大概流程
    lstm clip
    gemm c++
    lstm的debug模式下编译不行貌似
    caffe编译关于imread问题的解决
    c++ 走向高级之日积月累
    c++ 线程
    InitGoogleLogging坑爹
  • 原文地址:https://www.cnblogs.com/qiushuixizhao/p/3129174.html
Copyright © 2020-2023  润新知