博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SqlHelper文件复习
阅读量:6258 次
发布时间:2019-06-22

本文共 2439 字,大约阅读时间需要 8 分钟。

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;

            }

        }

    }

}

转载于:https://www.cnblogs.com/hcrs/p/4455546.html

你可能感兴趣的文章
dovecot+mysql
查看>>
c#短信接口代码实现(发短信)
查看>>
nginx hello world模块编译运行的问题
查看>>
磁盘空间满引起的mysql启动失败:ERROR! MySQL server PID file could not be found!
查看>>
对症下药 避免显示器偏离色彩“正轨”
查看>>
MySQL权限经验原则
查看>>
apache下实现301永久性重定向的方法
查看>>
fir.im 持续集成技术实践
查看>>
windows快捷键使用
查看>>
Java 字符串处理
查看>>
安装nginx服务实战
查看>>
Python基础语法
查看>>
Net Standard扩展支持实例分享
查看>>
Xen虚拟机安装
查看>>
Varnish配置应用
查看>>
zstack虚拟机找不到硬盘信息
查看>>
Outlook客户端和Exchange服务器连接问题排错常用工具——Office配置扫描
查看>>
登录信息提示
查看>>
EXCHANGE2003系列总结-7:OWA下修改密码
查看>>
Zabbix安装图解教程
查看>>