c# DBHelper

admin 2021-05-16 21:45:34 437浏览 0评论

DBHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;

namespace ConsoleApp1
{
    class DBHelper
    {

        public static string strConn = "Server=127.0.0.1;uid=sa;pwd=wu111111;Database=test";


        /// <summary>
        /// 增、删、改通用方法
        /// </summary>
        /// <param name="Sql">SQL 语句</param>
        /// <param name="paras">可选参数</param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string Sql, params SqlParameter[] paras)
        {
            int result = 0;
            //using 自动关闭资源,自带异常处理机制
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                conn.Open();//打开连接
                SqlCommand command = new SqlCommand(Sql, conn);//执行命令
                command.Parameters.AddRange(paras);//加入参数
                result = command.ExecuteNonQuery(); //执行 
            }
            return result;
        }
        /// <summary>
        /// 查询单行当列
        /// </summary>
        /// <param name="Sql">SQL 语句</param>
        /// <param name="paras">可选参数</param>
        /// <returns></returns>
        public static Object ExecuteScalar(string Sql, params SqlParameter[] paras)
        {
            Object result;
            //using 自动关闭资源,自带异常处理机制
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                conn.Open();//打开连接
                SqlCommand command = new SqlCommand(Sql, conn);//执行命令
                command.Parameters.AddRange(paras);//加入参数
                result = command.ExecuteScalar(); //执行 
            }
            return result;
        }

        /// <summary>
        /// 执行返回游标方式结果集
        /// </summary>
        /// <param name="Sql"></param>
        /// <param name="paras"></param>
        /// <returns></returns>
        public static Object ExecuteReader(string Sql, params SqlParameter[] paras)
        {
            
            //using 自动关闭资源,自带异常处理机制
                SqlConnection conn = new SqlConnection(strConn);
                conn.Open();//打开连接
                SqlCommand command = new SqlCommand(Sql, conn);//执行命令
                command.Parameters.AddRange(paras);//加入参数
                SqlDataReader result = command.ExecuteReader(CommandBehavior.CloseConnection); //执行 
            
                return result;
        }



        /// <summary>
        /// 执行返回临时表
        /// </summary>
        /// <param name="Sql"></param>
        /// <param name="paras"></param>
        /// <returns></returns>
        public static DataTable GetDataTable(string Sql, params SqlParameter[] paras)
        {

            DataTable dt = new DataTable();
            using (SqlConnection conn = new SqlConnection(strConn))
            {

                SqlCommand command = new SqlCommand(Sql, conn);
                command.Parameters.AddRange(paras);//添加参数
                //创建诗句适配器
                SqlDataAdapter adapter = new SqlDataAdapter(command);

                //填充
                adapter.Fill(dt);

                return dt;

            }
        }





    }
}



使用方法:

            int id = 1;
            string psw = "admin88811";
            //防SQL注入
            SqlParameter[] para = new SqlParameter[]
            {
               new SqlParameter("@id",id),
                new SqlParameter("@psw",psw)
            };

            Console.WriteLine("连接数据库成功");
            //步骤3: 创建执行脚本的对象

            string sql = "SELECT name from tbuser where id=@id and psw=@psw";

            string  result = (string)DBHelper.ExecuteScalar(sql, para);

            Console.WriteLine(result);



0条评论