zoukankan      html  css  js  c++  java
  • SqlHelper文件复习

    SqlHelper这是个cs类文件,将经常使用到的数据库操作写到一个文件下,方便调用,以及减少代码量。使用这个文件的前提是要建立一个app.config文件,并且引用configuration程序集;其中app.config文件如下:

    <configuration>
      <connectionStrings>//配置字符串

      //connectionString后面引号里面的是数据库连接字符串,起名为DBconnStr,在SqlHelper中将需要用到


        <add name="DBconnStr" connectionString="Data Source=.; Initial Catalog=HRMSYS;User Id=hcrs; Password=******;"/>
      </connectionStrings>
    </configuration>

    一下是SqlHelper.cs文件

    using System;

    using System.Collections.Generic;

    using System.Configuration;//引用上边提到的配置文件

    using System.Data;

    using System.Data.SqlClient;

    using System.Linq;

    using System.Text;

    namespace HRMSys.DAL

    {

        static class SqlHelper

        {

            public static string ConnStr = ConfigurationManager.ConnectionStrings["DBconnStr"].ConnectionString;

        //DBconnStr代表app.config文件中的的字符串,在此文件中定义一个变量存储DBconnStr字符串,在下文多处将使用到

            public static int ExecuteNonQuary(string sql, params SqlParameter[] parameters)//新建方法,对其他文件传过来的sql语句和参数进行处理,

            {

                using (SqlConnection conn = new SqlConnection(ConnStr))//创建数据库连接

                {

                    conn.Open();打开数据库

                    using (SqlCommand cmd =conn.CreateCommand())//数据库命令

                    {

                        cmd.CommandText = sql;//sql语句

                        cmd.Parameters.AddRange(parameters);//参数,可为空

                        return cmd.ExecuteNonQuery();//返回执行结果,ExecuteNonQuery()用于非查询语句,例如插入、删除

                    }

                }

            }

        //执行多行多列操作,即类似表格;

            public static DataTable ExecutDataTable(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);//将sql语句执行结果临时寄放在adapter中,

                        DataSet dataset=new DataSet();

                        adapter.Fill(dataset);//将adapter中的数据全部存放在dataset中

                        return dataset.Tables[0];//以表的形式返回此组操作的最终结果

                    }

                }

            }

            public static object ExecuteScalar(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);

                        return cmd.ExecuteScalar();

                    }

                }

            }

       //处理非空字段

      //当数据库设置了可空字段时,的操作方式。数据库中可空字段的表示形式为null,但是在.net中不能直接把字符串"null"传进去,而应当使用DBnull.value;

        //同时当从数据库中获取到的字段为空时,在.net下需要以DBnull来判断数据库传过来的是否null。代码如下:

            public static object ToDbValue(object value)//传进数据库时的方法

            {

                if(value==null)

                {

                    return DBNull.Value;

                }

                else

                {

                    return value;

                }

            }

            public static object FromDbValue(object value)//从数据库导出时的方法

            {

                if(value==DBNull.Value)

                {

                    return null;

                }

                else

                {

                    return value;

                }

            }

        }

    }

  • 相关阅读:
    the process cannot access the file because it is being used by another process
    SharePoint 2013: The "New Web Application" button is disabled is the central administration
    【转】Windows按键消息—虚拟键码
    【转】windows消息16进制对应表
    C#将图片字节流转为Base64直接放入html的img标签src属性中
    WPF自定义Main函数
    c#geckofx文件流下载
    腾讯RTX登录提示失败问题及处理办法
    C# \u8888类型的unicode转换为字符串方法
    C#System.Net.Mail采用简单邮件传输协议发送邮件
  • 原文地址:https://www.cnblogs.com/hcrs/p/4455546.html
Copyright © 2011-2022 走看看