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

 

 

 

posted @ 2013-06-09 14:44  秋水惜朝  阅读(253)  评论(0编辑  收藏  举报