当前位置: 代码迷 >> 综合 >> 【代码】SQLHelper
  详细解决方案

【代码】SQLHelper

热度:67   发布时间:2024-01-14 10:34:54.0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Reflection;
using System.Data.SqlClient;
using System.Data;
using Microsoft.VisualBasic;
//调用VB的控件inputbox,首先添加引用Microsoft.VisualBasic,然后在命名空间中引用(using Microsoft.VisualBasic;)namespace SqlDAL
{public class SQLHelper{public static string ConnectionString = ConfigurationManager.AppSettings["ConnStr"];/// <summary>  ///执行带参数的查询方式,返回值为表。  /// <param name="cmdTxt" >参数cmdText为所要执行的sql语句</param >  /// <param name=" cmdType">查询时的查询方式</param>   /// <param name="paras" >查询时的命令参数</param>  /// <returns >查询后以表的形式返回,</returns >  /// </summary>  /// <remarks></remarks> public static DataTable GetDataTable(string cmdTxt, CommandType cmdType, SqlParameter[] paras){SqlConnection conn = new SqlConnection(ConnectionString);//创建数据库的连接  SqlCommand cmd = default(SqlCommand);//定义命名变量。为什么要用default?DataSet adataset = null;//定义数据适配器,DataSet类表示一个存放于内存中的数据缓存  SqlDataAdapter adaptor = default(SqlDataAdapter);//SqlDataAdapter类目的是填充DataSet  cmd = new SqlCommand(cmdTxt, conn);//在conn上面执行实例化命令变量,并执行语句cmdtype  cmd.CommandType = cmdType;//命令执行的类型  cmd.Parameters.AddRange(paras);//命令执行的参数  adaptor = new SqlDataAdapter(cmd);//初始化 SqlDataAdapter 类的新实例,用指定的 cmd 作为 SelectCommand 的属性  adataset = new DataSet();try{if (conn.State == ConnectionState.Closed){conn.Open();}adaptor.Fill(adataset);//向adaptor对象中填充查询的数据  }catch (Exception ex){Interaction.MsgBox(ex.Message);}finally{if (conn.State == ConnectionState.Open){conn.Close();}}return adataset.Tables[0];//获取包含在 DataSet 中的表的集合。  }public static bool ExecuteNonQuery(string cmdTxt, CommandType cmdType, SqlParameter[] paras){using (SqlConnection conn = new SqlConnection(ConnectionString)){//创建数据库的连接  SqlCommand cmd = default(SqlCommand);//定义命名变量。为什么要用default?cmd = new SqlCommand(cmdTxt, conn);//在conn上面执行实例化命令变量,并执行语句cmdtype  cmd.CommandType = cmdType;//命令执行的类型  cmd.Parameters.AddRange(paras);//命令执行的参数conn.Open();//打开连接int enq = cmd.ExecuteNonQuery();//判断返回的受影响的值是否大于零bool flag;if (enq > 0) { flag = true; }else { flag = false; }return flag;             }}}
}