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
技术的发展日新月异,随着时间推移,无法保证本博客所有内容的正确性。如有误导,请大家见谅,欢迎评论区指正!
开源库地址,欢迎点亮:
GitHub:https://github.com/ITMingliang
Gitee: https://gitee.com/mingliang_it
GitLab: https://gitlab.com/ITMingliang
建群声明: 本着技术在于分享,方便大家交流学习的初心,特此建立【编程内功修炼交流群】,为大家答疑解惑。热烈欢迎各位爱交流学习的程序员进群,也希望进群的大佬能不吝分享自己遇到的技术问题和学习心得!进群方式:扫码关注公众号,后台回复【进群】。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-05-14 C#的实现FTP传送文件