using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace _03第四季01SQLHelper
{
class SqlHelper
{
//连接字符串
private static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
#region 版本一
//执行增删改
public static int ExecuteNonQurey(string sql)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
return 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();
}
}
}
////返回多个查询结果,为什么会出错?
////使用using(){}在{}之后系统会自动帮我们释放资源,所以在函数返回前连接已经关闭
//public static SqlDataReader ExecuteReader(string sql)
//{
// using (SqlConnection conn = new SqlConnection(connStr))
// {
// conn.Open();
// using (SqlCommand cmd = conn.CreateCommand())
// {
// cmd.CommandText = sql;
// return cmd.ExecuteReader();
// }
// }
//}
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] spms)
//public static SqlDataReader ExecuteReader(string sql, CommandType cType, params SqlParameter[] spms)
{
SqlConnection conn = new SqlConnection(connStr);
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
//cmd.CommandType = cType;//不设置的话,使用默认
if (spms != null)
cmd.Parameters.AddRange(spms);
try
{
conn.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch
{
conn.Close();
conn.Dispose();
throw;
}
}
}
//返回数据集
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;
}
}
}
//一般查询语句结果只有一个表,所以可以返回DataTable类型
public static DataTable ExecuteDataTable(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.Tables[0];
}
}
}
#endregion
//#region 版本二
//public static int ExecuteNonQurey(string sql,SqlParameter[] parameters )
//{
// using (SqlConnection conn = new SqlConnection(connStr))
// {
// conn.Open();
// using (SqlCommand cmd = conn.CreateCommand())
// {
// cmd.CommandText = sql;
// //foreach(SqlParameter param in parameters)
// //{
// // cmd.Parameters.Add(param);
// //}
// cmd.Parameters.AddRange(parameters);//等于foreach的写法
// return cmd.ExecuteNonQuery();
// }
// }
//}
////返回一行一列的查询结果
//public static object ExecuteScalar(string sql,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();
// }
// }
//}
////返回数据集
//public static DataSet ExecuteDataSet(string sql,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 dataset = new DataSet();
// adapter.Fill(dataset);
// return dataset;
// }
// }
//}
////一般查询语句结果只有一个表,所以可以返回DataTable类型
//public static DataTable ExecuteDataTable(string sql,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 dataset = new DataSet();
// adapter.Fill(dataset);
// return dataset.Tables[0];
// }
// }
//}
//#endregion
#region 版本三 可变参数
//public static int ExecuteNonQurey(string sql,params SqlParameter[] parameters)
//{
// using (SqlConnection conn = new SqlConnection(connStr))
// {
// conn.Open();
// using (SqlCommand cmd = conn.CreateCommand())
// {
// cmd.CommandText = sql;
// //foreach(SqlParameter param in parameters)
// //{
// // cmd.Parameters.Add(param);
// //}
// cmd.Parameters.AddRange(parameters);//等于foreach的写法
// return cmd.ExecuteNonQuery();
// }
// }
//}
////返回一行一列的查询结果
//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();
// }
// }
//}
////返回数据集
//public static DataSet ExecuteDataSet(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 dataset = new DataSet();
// adapter.Fill(dataset);
// return dataset;
// }
// }
//}
////一般查询语句结果只有一个表,所以可以返回DataTable类型
//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 dataset = new DataSet();
// adapter.Fill(dataset);
// return dataset.Tables[0];
// }
// }
//}
#endregion
}
}
相关推荐
IGBT基础知识
IGBT
手写一个SqlHelper
之前那个不太好,逻辑比较复杂,且共用同一个连接对象,容易出现争抢问题 下面这个就直接一点,每个函数独立 public static class SqlHelper { public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
Windows 11 RDP Wrapper 配置教程与常见问题解决方法
解锁家庭版RDP主机功能(Windows 11家庭版原生不支持作为RDP服务器)突破单用户连接限制,实现多用户同时远程登录(类似服务器版功能)它不修改系统核心文件,通过注入方式工作,相对安全可靠。RDP Wrapper是Windows 11家庭版用户启用远程桌面、突破单用户限制的高效工具。遵循本文步骤可快速完成配置,遇到问题时按常见问题排查方案逐一解决,多数问题可通过更新配置文件或重启服务解决。若长期使用,建议关注官方GitHub仓库的更新,确保兼容性和安全性。
据说手写SqlHelper的都还行
据说能手写SqlHelper的都还挺牛逼,留一个备份,不是我写的。备着学习。 using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collections; using System.Configuration; namespace Database { ...
qemu-system-aarch64参数详解与实战配置指南
本文详细解析了qemu-system-aarch64的核心参数,包括-machine、cpu、smp、m、drive和netdev等关键配置。通过嵌入式内核调试、完整系统运行和外设模拟三大实战场景,提供可直接使用的配置示例与性能优化技巧,帮助开发者在x86主机上高效构建和调试ARM64虚拟环境。
从FedAvg到实战:手把手教你用PyTorch复现联邦学习经典论文实验(MNIST/CIFAR-10)
本文详细介绍了如何使用PyTorch复现联邦学习经典算法FedAvg在MNIST和CIFAR-10数据集上的实验。从环境搭建、数据非IID划分到模型实现和参数聚合,手把手教你掌握联邦学习的核心技术与实战技巧,帮助开发者和研究人员快速实现隐私保护的分布式机器学习方案。
手写增删改查、SQLHelper
使用sqlhelper的简单增删改查 一:所说的简单的三层构架,就是说没有业务逻辑层,将各层没有放到单独的项目中,解决方案如下: 二:form1.cs的详细代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...
Ego Planner规划算法(下)——Ego Planner程序框架
本系列文章用于学习记录Ego-Planner规划算法的相关内容,本系列文章是在在Fast Planner规划算法系列文章的基础上,展开对Ego Planner的相关介绍,主要包括Ego Planner算法流程和程序框架两部分,主要学习资料是深蓝学院的移动机器人运动规划课程
黑马程序员——SQLHelper的写法
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 一般为了方便我们在程序中做数据操作,都会封装一个SQLHelper的类,在这里分享一下我写的SQLHelper,并分析一下里面的代码。 public class SQLHelper { //用于获取连接字符串的属
Unity与iOS原生交互实战指南
C#(DllImport) → C 接口(extern "C") → Objective‑C / SwiftObjective‑C → UnitySendMessage → C#(GameObject + public 方法)在写.mm文件;在里面写;C# 用声明;调用它,参数就是 string / 数值等;在.mm里做你想做的 iOS 原生操作。在 Unity 里准备一个常驻 GameObject,比如;上面挂一个脚本,写;在 iOS 插件中用;
【华为OD机试真题】7、字符串筛选排序 | 机试真题+思路参考+代码解析(C++、Java、Py)
题目描述 >输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母(k>=1) 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引 如果有重复字母则输出字母的最小位置索引
黑马程序员:SqlHelper听课笔记
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 使用SqlHelper的原因: 在需要操作数据库的时候,每次都是打开连接,然后创建命令,给命令sql语句,执行语句最后拿到结果。在这个过程中每次都要把数据库打开然后关闭(总是保持数据库连接的话
AI学习指南RAG篇(19)-API调用与集成
通过上述API调用示例,您可以方便地将RAGFlow与其他系统集成,实现数据集管理、文档处理、会话管理等功能。希望本文的介绍能帮助您更好地理解和使用RAGFlow的API。
黑马程序员-SqlHelper.cs
---------------------- Windows Phone 7手机开发、ASP.Net培训、期待与您交流! ---------------------- 我们经常通过ADO.NET操作数据库的时候,特别是三层架构DAL层里面必须得加入SqlHelper这个类。我本机电脑上的数据库为SQLExpress版本,至于到时候具体什么版本到时候修改一下就可以,以下以建立这个类的步骤: 1)
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
黑马程序员-sqlhelper 传入多parameter参数遇到的问题
SqlHelper类,写的方法如下 class SqlHelper { private static string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; public static DataSet Ex
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
[黑马程序员] SqlHelper
public static int ExecuteNoQuery(string sql,params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open();
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
黑马程序员 自己编写SqlHelper
-----------Windows Phone 7手机开发、.Net培训、期待与您交流!------------ class SqlHelper { //使用长度可变参数来简化 public static int ExecuteNonQuery(string sql,params SqlParameter[] parameter...
黑马程序员—sqlhelper封装“ExecuteReader”
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- //连接的constr private static string constr = ConfigurationManager.ConnectionStrings["constr"].Connectio
[黑马程序员] sqlHelper
public static int ExecuteNoQuery(string sql,params SqlParameter[] parameters) { using (SqlConnection conn = new SqlConnection(connStr)) { conn.Open();
黑马程序员—ADO.NET
ADO.NET 1.概念 为什么要使用ADO.Net 程序要和数据库交互要通过ADO.Net 进行 通过ADO.Net就能在程序中执行SQL了 ADO.Net中提供了对各种不同数据库的统一操作接口 ADO.NET的组成 ADO.NET数据库操作 Connection 类 和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,
【黑马程序员】SqlHelper+三层架构 +例子1)复习创建客户和三层的知识+、(例子2)项目初始框架(HRMSys)
------- WindowsPhone 7手机开发、.Net培训、期待与您交流! ------- 一、自己编写SqlHelper的知识: class SqlHelper { private static sting ConnStr=...... public static int ExecuteNonQuery(string sql,params SqlParameters[]
黑马程序员-自学笔记-SQLServer与ADO.Net(五)-SQLHelper
SQLServer与ADO.Net(五) ---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1、SQLHelper(重点) l 封装一个SQLHelper类方便使用,提供 • -> ExecuteDataTable(string sql,params Sql
黑马程序员 ADO.NET总结
------- WindowsPhone 7手机开发、.Net培训、期待与您交流! ------- ----WinForm中存在两个MDF的解决办法---- vs2010中,在项目中点击右键“添加-新建项-基于服务的数据库”,会发现在项目根目录下和\bin\Debug\下都创建了mdf文件。我们需要操作的mdf是项目下的那个,而程序执行时默认操作的是debug下的mdf,我们插入数
黑马程序员--模块一制作整理
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 再自学了三天WPF后,终于将作业项目的模块一做完了,下面是一些我的思考。 1. 登陆首页还是拖控件的办法,当然我还是没有意识到手写控件布局的好处,现在唯一知道的是手写控件在伸缩界面时,控件会跟随着伸缩。 2. 项
黑马程序员-sqlhelper 传入长度可变参数
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 封装方法的原则是:不变的放入方法,变化的以参数的形式传入。 public static DataSet ExecuteDataSet(string sql, SqlParameter[] pars)
黑马程序员_ADO.Net(配置文件的两种写法与使用方法,手动编写SqlHelper类)
一.配置文件的两种写法与使用方法 使用方法:添加配置文件,添加引用System.comfiguration //public string con=System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]; public
1万+



被折叠的 条评论
为什么被折叠?



