C#处理SQL的两种小方法

C#与SQL构建的高效图书管理系统实战指南 本文还有配套的精品资源,点击获取 简介:图书管理系统利用C#和SQL实现高效管理和维护图书馆信息。C#负责用户界面和逻辑处理,而SQL负责数据存储和查询。本实战指南深入探讨了C#的界面设计、事件驱动编程、业务逻辑处理,以及SQL的数据表设计、数据操作和事务处理。同时,详细介绍了C#与SQL的交互,如通过***技术实现数据通信,包括Connection、Command、Dat... 阅读详情

方法一:

public DataTable GetDptLst()
{
    using (DataAccesser da = DataAccesser.GetInstance())
    {
        Database database = da.InnerDatabase;
       

        StringBuilder strSql = new StringBuilder();
        strSql.Append("SELECT   DPT_CD /r/n");
        strSql.Append("        ,DPT_N  /r/n");
        strSql.Append("        ,DPT_DIFF     /r/n");
        strSql.Append("FROM " + importDbName + ".dbo.MyTable  /r/n");
        strSql.Append("WHERE    Some Condition");

        DbCommand command = database.GetSqlStringCommand(strSql.ToString());
        DataTable tbl = new DataTable();
        tbl.Columns.Add("DPT_CD", Type.GetType("System.String"));
        tbl.Columns.Add("DPT_N", Type.GetType("System.String"));
        tbl.Columns.Add("DPT_DIFF", Type.GetType("System.String"));


        da.FillDataTable(command, tbl);

        return tbl;
    }
}

 

方法二:

public MyDataBase.P0101_VIEW_01DataTable FillGridView(string year, string period)
{
    using (DataAccesser da = DataAccesser.GetInstance())
    {
        MyDataBase.P0101_VIEW_01DataTable tbl = new MyDataBase.P0101_VIEW_01DataTable();

        try
        {
            Database database = da.InnerDatabase;
            da.BeginTransaction();

            StringBuilder strSql = new StringBuilder();

            strSql.Append("SELECT *  /r/n");
            strSql.Append("FROM   P0101_VIEW_01 /r/n");
            strSql.Append("WHERE  YEAR = ");
            strSql.Append("       @YEAR AND /r/n");
            strSql.Append("       SEASON = ");
            strSql.Append("       @SEASON /r/n");

            DbCommand command = database.GetSqlStringCommand(strSql.ToString());

            SqlParameter[] prams = { new SqlParameter("@YEAR", SqlDbType.VarChar),
                                     new SqlParameter("@SEASON", SqlDbType.VarChar) };
            prams[0].Value = year;
            prams[1].Value = period;
            foreach (SqlParameter parameter in prams)
            {
                command.Parameters.Add(parameter);
            }

            da.FillDataTable(command, tbl);
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return tbl;
    }
}

 

二者的主要区别是对新定义的变量tbl的处理不同,方法一是定义为DataTable类型,方法二是定义为MyDataBase.P0101_VIEW_01DataTable类型.

通过方法二查找,要求查找P0101_VIEW_01DataTable的各个字段,而方法二则是查找什么字段,就再往tbl中添加什么字段(tbl.Columns.Add).

个人认为方法一比较好.

c# SqlBuilder 自己写了个sqlbuilder ,符合平常写sql的习惯,并且可以通过实体类直接生成 SELECT DELETE INSERT UPDATE,比较适合数据库应用项目又不喜欢用其他数据库映射框架的情形. 立即下载

相关推荐

mos管结电容等效模型_MOS管的防冲击防反接电路

MOS管的反接和抑制冲击一:原理分析MOS管由于生产工艺等因素,会产生相应的寄生电容,体二极管等。Mos管的寄生电容如图1所示,可以看到其具有三个寄生电容:G和S的电容Cgs;G和D的电容:Cgd,也称为反向传输电容、米勒电容、Crss;D和S的电容Cds。D和S之间的体二极管D1.图 1:MOS管等效模型寄生电容的数值可以从元器件的datasheet中得到,如图2,图3:Ciss(输入电容)=C...

weixin_29179583的博客 1856

C# 数据库操作DbCommand、GetStoredProcCommand、GetSqlStringCommand

数据访问应用程序块提供了获取 ADO.NET DbCommand 对象的的统一方法。应用程序块的数据访问方法包含了接受 DbCommand 对象的重载。如果用 DbCommand 对象来使用重载,在调用存储过程时将可以进行更多的控制。例如,如果使用 DbCommand 对象,就可以使用在输出参数中返回多个结果的存储过程。另外,DbCommand 对象允许指定存储过程的超时值。...

weixin_34344403的博客 454

深度学习分类任务中,正负样本比例失衡的5种实战解决方案(附代码)

本文深入探讨了深度学习分类任务中正负样本比例失衡的5种实战解决方案,包括智能采样技术、动态数据增强、损失函数工程、模型架构创新和训练策略优化。针对信用卡欺诈检测、医疗诊断等场景,提供了详细的代码实现和评估方法,帮助开发者有效解决样本不平衡问题,提升模型在真实场景中的表现。

h9j8k7l6m5n的博客 425

一个通用的数据库访问类(sql server数据库)

我在开发中小型WEB网站或者WEB应用程序通常使用三层架构。有一个比较好的通用的数据访问类往往能大大加快项目的进度,并且如果以后维护,二次开发将相当的方便。下面是一个通用的访问sql server数据库的访问类。它用到了微软企业开发库的组件Microsoft.Practices.EnterpriseLibrary.Data.dll。这个组件可以从网上下。下面是详细的代码。我已经加了注释。

Johnson的专栏 3592

U盘 未知USB设备 设定地址失败 由于该设备有问题Windows 已将其停止(代码 43) 终极解决方案(做过系统装机盘而无法解决的必看)

U盘由于该设备有问题Windows 已将其停止(代码 43) 终极解决方案 我们在使用U盘的时候偶尔会碰到下列情况 一般是因为传输数据的过程中,死机或未响应直接断点或拔掉设备导致的,U盘再次插上之后出现设定地址失败。无法再次读取设备的数据。 解决方案: 首先请确认出现该情况不是因为你摔了U盘或接口处产生断裂这种物理损伤导致的!!! 首先请确认出现该情况不是因为你摔了U盘或接口处产生断裂这种物理损...

qq_39123987的博客 13万+

Android 13 内置xapk安装包的方法

安装xapk 内置xapk

安卓兼职framework和app工程师的博客 223

c#中使用stringbuilder的Append方法写sql语句

c#中使用stringbuilder的Append方法写sql语句_c#strsql.append_安静点DGC的博客-优快云博客。StringBuilder 拼接去除最后一个多余字符_stringbuffer去掉最后一个逗号_佐氵谙的博客-优快云博客。2023年11月27日。

anlog的专栏 865

机器人中的数值优化(二十一)—— 伴随灵敏度分析、线性方程组求解器的分类和特点、优化软件

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 4205

C#使用预处理SQL语句访问MySQL的方法(Parameter)

[c-sharp] view plaincopyprint? MySqlConnection con = null;              MySqlCommand cmd = null;              string nameStr = "Sample value passed /”";              con = new MySqlConnection("

学武止境 1665

Megatron-LM从头训练大语言模型:并行策略图示【Tensor并行、Pipeline并行、Data并行、Sequence并行、virtual_pipeline并行、Context并行】

节点包含的层每GPU的参数内存每GPU的激活内存节点0Stage 0层1-1212层参数/2 (TP切分)8k序列激活 (CP切分)节点1Stage 1层13-2412层参数/2 (TP切分)8k序列激活 (CP切分)节点2Stage 2层25-3612层参数/2 (TP切分)8k序列激活 (CP切分)节点3Stage 3层37-4812层参数/2 (TP切分)8k序列激活 (CP切分)负载均衡:每个节点处理相同数量的层(12层)内存优化。

u013250861的博客 285

Allegro16.6详细教程(二)

3-D Viewer,可以直接在allegro中看到board file的3-D顯示效果。3-D Viewer對於PCB Editor Products,只有環境變數中的OpenGL顯示功能開啟後才有效,而對於APD/SiP是無效的。2.3-D viewer是在一個獨立的視窗中打開的。3-D environment環境支援多種顯示內容的過濾,取景視角和顯示效果的選項,透過遊標可以直接控制放大,移動,翻轉等操作。

axingxiansen的博客 1917

C# 中处理关于SQL中BLOG类型数据的方法

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Da...

Be yourself. 1347

交通规划仿真软件:TransCAD_(7).公交系统规划与分析

通过TransCAD进行公交系统规划与分析,可以有效地评估公交网络的性能,优化线路设计,提高服务质量。数据准备、模型建立、仿真运行和结果分析是公交系统规划与分析的关键步骤。在实际应用中,规划者和分析师可以根据仿真结果提出具体的优化建议,不断完善公交系统的运行效率和乘客体验。

kkchenjj的博客 955

C# Sql查询的时候有中文时,查询不出结果 处理方法

解决方法 数据库连接字符串的加上 charset=utf8; "server=localhost;user id=root; password=123456; database=colliery; pooling=false;port=3306;Charset=utf8"

尚未佩妥剑 转眼便江湖 1295

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle where条件为In并且为拼接SQL时 C#中的处理方法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33727510的博客 849

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

c# mysql mysqlparameter_C#使用预处理SQL语句访问MySQL的方法(Parameter)

代码:MySqlConnection con = null;MySqlCommand cmd = null;string nameStr = "Sample value passed \”";con = new MySqlConnection("server=localhost;database=db_name;uid=user;pwd=password;pooling=false;");con....

weixin_42413747的博客 939

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

aspnet mysql预处理_C#使用预处理SQL语句访问MySQL的方法(Parameter)

代码:MySqlConnection con = null;MySqlCommand cmd = null;string nameStr = "Sample value passed \”";con = new MySqlConnection("server=localhost;database=db_name;uid=user;pwd=password;pooling=false;");con....

weixin_36352719的博客 112

【C#】中SQL参数传入空值报错解决方案

C#中的null与SQL中的NULL是不一样的,SQL中的NULL用C#表示出来就是DBNull.Value。 注意:SQL参数是不能接受C#的null值的,传入null就会报错。 例如: SqlCommand cmd=new SqlCommand("Insert into Student values(@StuName,@StuAge)" ,conn); cmd.parameters.a...

南朋友的博客 2991

C#中 如何执行带GO的sql 语句

C#中是不允许执行带GO的sql 语句的, 如何做呢? 思路就是将带GO的sql语句转化为分段执行, 但在同一事务内执行。 扩展方法是个很不错的主意, 但是尽量不要影响原来的cmd的一些东东, 如 connection, 故只借用原来的connectionstring和sql , 而 connection 是重新建立的。 1. 预备数据: --删除表 IF( OBJECT_ID

我想我是海 冬天的大海 心情随风轻摆 4925

C# 生成编号的方法

string str = ""; string code = ""; //取出需要编号列的最大值 string sqlstring = "select MAX(BH) from dbo.adminuser"; //调用sql操作的公共类 DataTable tbs = db.GetTable(sqlstring); str = Convert.ToString(tbs.Rows[0...

weixin_34244102的博客 1028

C# 异步执行SQL语句

异步执行SQL语句,试下就明白,无需解释 /// /// 按钮事件 异步执行 /// /// /// private void button4_Click(object sender, EventArgs e) { string str

兰丝龙 专栏 8508

c#split方法拆分为数据_C#编程之中使用split分割字符串的几种方法

第一种方法:strings=abcdeabcdeabcde;string[]sArray=s.Split('c');foreach(stringiinsArray)Console.WriteLine(i.ToString());输出结果:abdeabdeabde其他方法http://blog.youkuaiyun.com/leeharry/article/details/2281325实现grid...

weixin_39886956的博客 237
上一篇: VC6.0中对消息的特殊处理--PreTranslateMessage说明
下一篇: C#网站开发----在服务器上生成临时文件,下载到客户端,然后删除临时文件
roofwei
博客等级 码龄19年 21粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值