C# SQL帮助类

本人自己封装的SQLHelper类,执行sql server与Oracle数据的增删改查

vs自带的Oracle数据库引用需要安装Oracle客户端,如不想安装Oracle客户端,可以引用 Oracle.ManagedDataAccess.dll

下载链接: https://pan.baidu.com/s/1dzzTxL2fmUPrMy2Qc246jg 提取码: 16my

public class SQLHelper
{
/// <summary>
/// 执行查询语句
/// </summary>
/// <param name="ConnStr">连接字符串</param>
/// <param name="Sql">sql语句</param>
/// <param name="Param">查询的字段名</param>
/// <returns>查询结果或错误信息</returns>
public static string[] ExecuteReaderSql(string ConnStr,string Sql,string[] Param)
{
string[] info = new string[Param.Count()];
SqlConnection conn = null;
try
{
conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand cmd = new SqlCommand(Sql, conn);
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
if (!sdr.HasRows) { info[] = "null"; return info; }
for (int i = ; i <Param.Count(); i++)
{
info[i] = sdr[Param[i]].ToString();
}
}
catch(Exception ex)
{
info[] = "sql查询错误信息:" + ex.Message;
return info;
}
finally
{
conn.Close();
} return info;
}
/// <summary>
/// 执行增删改
/// </summary>
/// <param name="ConnStr">连接字符串</param>
/// <param name="Sql">sql语句</param>
/// <returns>受影响的行数或错误信息</returns>
public static string ExecuteSql(string ConnStr,string Sql)
{
SqlConnection conn = null;
int Row = ;
try
{
conn = new SqlConnection(ConnStr);
conn.Open();
SqlCommand cmd = new SqlCommand(Sql,conn);
Row = cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
return "sql执行错误信息:" + ex.Message;
}
finally
{
conn.Close();
}
return Row.ToString();
}
/// <summary>
/// Oracle增删改
/// </summary>
/// <param name="ConnStr">连接字符串</param>
/// <param name="orcl">Oracle语句</param>
/// <returns>受影响行数或错误信息</returns>
public static string ExecuteOrcl(string ConnStr, string orcl)
{
OracleConnection conn = null;
int Row = ;
try
{
conn = new OracleConnection(ConnStr);
conn.Open();
OracleCommand cmd = new OracleCommand(orcl, conn);
Row = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
return "orcl执行错误信息:" + ex.Message;
}
finally
{
conn.Close();
}
return Row.ToString();
}
/// <summary>
/// Oracle查询
/// </summary>
/// <param name="ConnStr">连接字符串</param>
/// <param name="orcl">Oracle语句</param>
/// <param name="Param">查询字段名</param>
/// <returns>查询结果或错误信息</returns>
public static string[] ExecuteReaderOrcl(string ConnStr, string orcl, string[] Param)
{
OracleConnection conn = null;
string[] info = new string[Param.Count()];
try
{
conn = new OracleConnection(ConnStr);
conn.Open();
OracleCommand cmd = new OracleCommand(orcl, conn);
OracleDataReader odr = cmd.ExecuteReader();
odr.Read();
if(!odr.HasRows) { info[] = "null"; return info; }
for (int i = ; i < Param.Count(); i++)
{
info[i] = odr[Param[i]].ToString();
}
}
catch (Exception ex)
{
info[] = "orcl查询错误信息:" + ex.Message;
return info;
}
finally
{
conn.Close();
}
return info;
}
}

SqlHelper

C# SQL帮助类的更多相关文章

  1. 一个简单的ORM制作(SQL帮助类)

    一个简单的ORM制作大概需要以下几个类: SQL执行类 CURD操作类 其他酱油类 先从SQL执行类说起,可能会涉及数据库的迁移等问题,所以需要定义一个接口以方便迁移到其他数据库, 事务没提供命名,若 ...

  2. SQL数据类型和C#数据类型间的转换

    今天看到SQL数据类型和C#数据类型间的转换,前人留下的. <?xml version="1.0" encoding="utf-8" ?> < ...

  3. PHP文件上传,下载,Sql工具类!

    PHP文件上传,下载,Sql工具类! 对文件大小,文件类型 同名覆盖 中文转码的操作,可直接使用 前台 upload.html <!DOCTYPE html> <html> & ...

  4. 数据库连接池与SQL工具类

    数据库连接池与SQL工具类 1.数据库连接池 依赖包 pymysql dbutils # -*- coding: utf-8 -*- ''' @Time : 2021/11/19 16:45 @Aut ...

  5. QtSQL学习笔记(4)- 使用SQL Model类

    除了QSqlQuery,Qt提供了3个高级类用于访问数据库.这些类是QSqlQueryModel.QSqlTableModel和QSqlRelationalTableModel. 这些类是由QAbst ...

  6. SQL语言类

     SQL语分为四类:数据查询语言DQL,数据操纵语言DML. 数据定义语言DDL,数据控制语言DCL. 1 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句.FROM子句,WHE ...

  7. java学习笔记37(sql工具类:JDBCUtils)

    在之前的内容中,我们发现,当我们执行一条语句时,每新建一个方法,就要重新连接一次数据库,代码重复率很高,那么能不能把这些重复代码封装成一个类呢,我们学习方法时,就学习到方法就是为了提高代码的利用率,所 ...

  8. QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型

    QSqlTableModel类继承至QSqlQueryModel类,该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查询,和排序 常用函数 QVariant headerDa ...

  9. Excel生成Oracle数据库表sql工具类

    1.解决问题: 开发文档中字段比较多的时候,建表sql(Oracle下划线命名规范)比较麻烦,容易出错~~ (主要是懒) 特意手写一个工具,根据excel字段,生成建表的sql语句. ~~~末尾附Gi ...

随机推荐

  1. 运用Python制作你心目中的完美女神脸!

    简介 写这个项目的本来目的是通过构建一个神经网络来训练人脸图片,最后达到能根据图片自动判断美丑的效果.可能是因为数据集过小,或者自己参数一直没有调正确,无论我用人脸关键点训练还是卷积神经网络训练,最后 ...

  2. graph-Kruskal-algorithm

    并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.主要操作:1. 初始化:每个点所在集合初始化为其自身.2. 查找:查找元素所在的集合,即根节点.3. ...

  3. Linux对大容量硬盘分区

    随着单块硬盘容量的增大和硬盘价格的下降,2TB的磁盘使用将很快会普及,由于传统的MBR方式存储分区表的方 式缺陷,将可能导致很多分区工具不能正确地读取大于2TB容量的硬盘而无法正常分区大容量硬盘.其实 ...

  4. 修改Typora的快捷键【markdown软件】

    修改Typora的快捷键 魔芋:Typora是一款不错的编写markdowm的软件,推荐使用. 魔芋:修改这个文件conf.user.json   "keyBinding": { ...

  5. 和为n连续正数序列 【微软面试100题 第五十一题】

    题目要求: 输入一个正数n,输出所有和为n连续正数序列(至少两个). 例如输入15,由于1+2+3+4+5 = 4+5+6 = 7+8 = 15.所以输出3个连续序列1~5,4~6,7~8. 参考资料 ...

  6. 安装python包

    开始--cmd pip install pymongo 直到最后给出提示successfull install pymongo-**(版本号,最新的)

  7. Python学习-day6 面向对象概念

    开始学习面向对象,可以说之前的学习和编程思路都是面向过程的,从上到下,一步一步走完. 如果说一个简单的需求,用面向过程实现起来相对容易,但是如果在日常生产,面向对象就可以发挥出他的优势了. 程序的可扩 ...

  8. 聊聊、Nginx GDB与MAIN参数

    接着上一篇,我们学习 Nginx 的 main 方法.用 gdb 工具调试 Nginx,首先 gdb nginx.如下: gdb 调试工具有很多的命令,上一篇为了找 main 方法用了 b 命令,也就 ...

  9. sql语句执行时算术运算导致溢出。

    执行sql语句时报错: 用户代码未处理 System.OverflowException HResult=-2146233066 Message=算术运算导致溢出. 文章:https://bbs.cs ...

  10. RabbitMQ与PHP(一)

    RabbitMQ与PHP(一) 项目中使用RabbitMQ作为队列处理用户消息通知,消息由前端PHP代码产生,处理消息使用Python,这就导致代码一致性问题,调整消息定义时需要PHP和Python都 ...