首页 > 数据库 >C#中几种执行SQL的方法

C#中几种执行SQL的方法

时间:2023-09-26 20:57:12浏览次数:37  
标签:string C# sql exeRes 几种 SQL new ExecutionResult dbParam

C#中几种执行SQL的方法

 

C#中几种执行SQL的方法

1.不同的数据库

复制代码
private InfoLightDBTools dbTools;       //#ORACLE#
this.dbTools = new InfoLightDBTools(clientInfo, dbName);

private InfoLightDBTXTools dbTXTools;  //#ORACLE# 要结合事务处理使用:BeginTransaction(),Commit(),Rollback(),EndTransaction()

this.dbTXTools = new InfoLightDBTXTools(clientInfo, dbName);

private InfoLightMSTools mdbtool;    //#SQL SERVER#
复制代码

2.SQL Server中执行方法

复制代码
  public DataTable GetManPowerData(string vLineName, string vShift)
        {
            DataTable dt = new DataTable();
            ExecutionResult exeRes = new ExecutionResult();
            List<SqlParameter> mParams;
            SqlParameter mLine_NameParam, mDNSParam;
            string sql = @"select *
  from manpower
 where lineid = (select ID
                   from lines
                  where line = @LINENAME
                    AND (SMTCS IS NULL OR SMTCS = 'C'))
   and dns = @dns
 order by time1_start
";


            mParams = new List<SqlParameter>();
            mLine_NameParam = new SqlParameter("@LINENAME", SqlDbType.VarChar, 20);
            mLine_NameParam.Value = vLineName;
            mParams.Add(mLine_NameParam);

            mDNSParam = new SqlParameter("@dns", SqlDbType.VarChar, 20);
            mDNSParam.Value = 0;
            mParams.Add(mDNSParam);


            exeRes = this.rMSDBTools.ExecuteQueryDS(sql, mParams);
            if (exeRes.Status)
                dt = ((DataSet)exeRes.Anything).Tables[0];

            return dt;
        }
复制代码

3.Oracle中执行方法

复制代码
 public DataTable getModel(string line_name)
        {
            DataTable dt = new DataTable();
            ExecutionResult exeRes = new ExecutionResult();
            DBParameter dbParam = new DBParameter();
            string sql = @"   SELECT DISTINCT T.MODEL_NAME
    FROM sfism4.R_LINE_MODEL_STATUS_T t
   WHERE T.LINE_NAME = :line_name
";
            dbParam.Clear();
            dbParam.Add("line_name", OracleType.VarChar, line_name);
            exeRes = this.mdbtools.ExecuteQueryDS(sql, dbParam.GetParameters());
            if (exeRes.Status)
                dt = ((DataSet)exeRes.Anything).Tables[0];
            return dt;
        }
复制代码

4.执行更新操作

复制代码
public ExecutionResult DoDelete(string sap_plant, string wip_sn, string up_data1)
        {
            ExecutionResult exeRes = new ExecutionResult();
            exeRes.Message = "";
            DBParameter dbParam = new DBParameter();
            #region sql
            string sql = @"  DELETE SFISM4.U_UP2INTERFACE_TODOLIST_T A
 WHERE A.CUST_NO = :CUST_NO
   AND A.TYPE = 'IMS_STOP'
   AND A.JOB_STATUS = 'OK'
   AND A.WIP_SN = :WIP_SN
   AND A.UP_DATA1 = :UP_DATA1
";
            #endregion

            #region Param
            dbParam.Clear();
            dbParam.Add("CUST_NO", OracleType.NVarChar, sap_plant);
            dbParam.Add("WIP_SN", OracleType.NVarChar, wip_sn);
            dbParam.Add("UP_DATA1", OracleType.NVarChar, up_data1);
            #endregion
            try
            {
                exeRes = this.mdbtools.ExecuteUpdate(sql, dbParam.GetParameters());
            }
            catch (Exception ex)
            {
                exeRes.Message += ex.Message;
                exeRes.Status = false;
            }
            return exeRes;
        }
复制代码

本文来自博客园,作者:码农阿亮,转载请注明原文链接:https://www.cnblogs.com/wml-it/p/12975393.html


技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!

标签:string,C#,sql,exeRes,几种,SQL,new,ExecutionResult,dbParam
From: https://www.cnblogs.com/sexintercourse/p/17731130.html

相关文章

  • static的个人理解,抽象类与接口
    变量每个变量都有类型,可以是基础类型也可以是引用类型变量必须是合法的标识符(详情见上章)一个类型可以同时输出多个变量如inta=10,b=20,c=30但是会使代码降低可读性,不建议使用变量类型1类变量类变量是在方式之前括号中的变量,必须含有static,可不予声明和赋予含义直接输出......
  • uber go code 规范(规范)
    前言从接触Golang到现在,感觉到的很深的一点是,go的代码无论是大佬还是菜鸟写出的代码,都有着大体统一的格式/流程,这也是Go被开发者喜爱的一个原因,但是还有一些,比如变量的命名方式等,可以称之为风格的东西,却不尽相同,我在开发中,其实也希望有一个相对权威......
  • 【Docker】使用 Docker 启动 mysql,配置挂载数据文件夹与配置文件
    #1:先创建挂载文件夹mkdir-p/mysql/config;mkdir-p/mysql/data;mkdir-p/mysql/logs#2:创建配置文件vim/mysql/config/my.cnf#3:修改权限chmod777/mysql/config/my.cnf#4:添加以下参数#event_scheduler=ON表示开启事件支持#lower_case_tabl......
  • C# 简单实现对字符串加密和解密
     C#简单实现对字符串加密和解密有两种方式,供参考:1///<summary>2///编译字符串3///</summary>4///<paramname="strUnicode"></param>5///<returns></returns>6publicstaticstringFromUnicodeToAscii(stringstrUnicode)7......
  • odoo xml文件中&出现报错问题:Unescaped & or nonterminated character/entity referen
    解决方式1:将“&”改写为“&amp;” 解决方案2:使用CDATA区:当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这时应该使用CDATA段。在CDATA段中出现的“ < ”、“ > ”、“ " ”、“ ’ ”、“&”都无需使用转义字符,但CDATA段中不能包含“]]>”,......
  • 4、scatter作用
    scatter_add是torch_scatter库中的一个函数,用于对输入张量进行聚合操作,并将聚合结果累加到指定位置上。具体来说,scatter_add函数的使用方法如下:fromtorch_scatterimportscatter_add#定义输入张量input_tensor=torch.tensor([[1,2,3],[4,5,6],[7,8,9]])#定......
  • 无涯教程-JavaScript - T.DIST函数
    描述T.DIST.2T函数返回两尾学生的t分布。学生的分布用于小样本数据集的假设检验。使用此函数代替t分布的临界值表。语法T.DIST(x,deg_freedom,cumulative)争论Argument描述Required/OptionalXThenumericvalueatwhichtoevaluatethedistribution.RequiredDeg......
  • SQL的学习
    数据的操作数据的存储,表格中添加数据insetinto表民(字段)values(值)数据表的数据约束非空约束 notnull解释:当字段添加非空约束的时候,当前字段就不允许插入null值,如果插入null值,就会报错默认default解释:如何没有给此字段添加数据,默认自动添加默认值检查 check解释:检测你......
  • 【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
    问题描述启用AppServiceLocalGit部署,在Clone代码库到本地时候,卡在Clone‘xxxxxx’......一动不动的问题? 问题解答因为GitClone没有任何日志输出,所以在其他IDE上也尝试GitAppService的代码库。在intellj的git操作,报错“unabletoaccess,SSLcertificateproblem:una......
  • 【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
    问题描述启用AppServiceLocalGit部署,在Clone代码库到本地时候,卡在Clone‘xxxxxx’......一动不动的问题? 问题解答因为GitClone没有任何日志输出,所以在其他IDE上也尝试GitAppService的代码库。在intellj的git操作,报错“unabletoaccess,SSLcertificateproble......