C#使用Ado.Net读写数据库

C# .NET 中数据库读写的核心类详解 本文全面介绍了 C# .NET 中用于数据库读写的关键类及其应用,涵盖了 ADO.NET 和 Entity Framework 的核心组件。ADO.NET 提供了 SqlConnection、SqlCommand、SqlDataReader 等类,用于直接操作数据库,适合需要精细控制 SQL 的场景。Entity Framework 则通过 DbContext 和 DbSet<TEntity> 简化了数据访问,支持 LINQ 查询,适合快速开发和复杂业务逻辑。此外,还介绍了轻量级 ORM 工具 阅读详情

C#使用Ado.Net读写数据库

    记性不好,记几个C#使用Ado.Net读写数据库的方式,以便随时取用.

1.使用DataReader方式读取资料
 

           String connString = ConfigurationManager.ConnectionStrings["astt"].ConnectionString;

            //如果数据库连接字符串有加密,可以经过解密后重新获得连接字符串
            DbConnectionStringBuilder connBuilder = new DbConnectionStringBuilder();
            connBuilder.ConnectionString = connString;
            connBuilder["Data Source"] = connBuilder["Data Source"];  //可加上解密方法
            connBuilder["User ID"] = connBuilder["User ID"];          //可加上解密方法
            connBuilder["Password"] = connBuilder["Password"];        //可加上解密方法
            connString = connBuilder.ConnectionString;

            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                try
                {
                    conn.Open();

                    using (OleDbCommand cmd = new OleDbCommand())
                    {
                        cmd.CommandText = "select * from s_userm where rownum <= ?";
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection = conn;
                        cmd.Parameters.Add("?", OleDbType.Integer).Value = 5;  //cmd.Parameters.Add(new OleDbParameter("?", 5));

                        using (OleDbDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                MessageBox.Show(reader.GetString(1), "资料");
                            }
                        }
                    }
                    conn.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "error");
                    return;
                }
            }


 

2.使用DataAdapter与DataSet方式读取资料.
 

           String connString = ConfigurationManager.ConnectionStrings["astt"].ConnectionString;
            using (OleDbConnection conn = new OleDbConnection(connString))
            {
                try
                {
                    using (OleDbCommand cmd = new OleDbCommand())
                    {
                        cmd.CommandText = "select * from s_userm where rownum <= ?";
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection = conn;
                        cmd.Parameters.Add("?", OleDbType.Integer).Value = 5;  //cmd.Parameters.Add(new OleDbParameter("?", 5));

                        DataSet ds = new DataSet();
                        OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);

                        adapter.Fill(ds, "s_userm");

                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            MessageBox.Show(Convert.ToString(dr["user_nm"]), "资料");
                        }

                        //listBox1.DataSource = ds.Tables[0].DefaultView;
                        //listBox1.DisplayMember = "user_nm";
                        //listBox1.ValueMember = "user_no";
                        listBox1.DataSource = ds;
                        listBox1.DisplayMember = "s_userm.user_nm"
C#系列-ADO.NET介绍+应用场景 ADO.NET中的数据集(DataSet)和数据表(DataTable)可以方便地绑定到各种UI控件(如GridView、DataGrid等),实现数据的展示和交互。:ADO.NET中的DataSet和DataTable对象允许开发者在内存中缓存数据,从而可以在不连接数据库的情况下对数据进行操作。:ADO.NET中的核心组件之一是DataSet,它是一个内存中的缓存,用于存储从数据库中检索的数据。DataSet提供了对数据的行、列、表和其他关系的抽象,使得开发者可以在不连接数据库的情况下操作数据。 阅读详情

相关推荐

C#(Sharp)操作数据库原理及案例精析(强烈建议收藏)

刘一哥C#从入门到精通系列精品教程合集: 1.【C#程序设计】教学讲义——第一章:C#语言概述 2.【C#程序设计】教学讲义——第二章:简单C#程序设计 3.【C#程序设计】教学讲义——第三章:C#语言基础 4.吐血整理:C#顺序、选择、循环结构用法与案例,这一篇就够了! 5.C#数组原来这么简单,你学废了吗? 6.不会C# Winform用户界面设计?是因为没有掌握这些控件(建议收藏) 7.学弟学妹们,C#为啥学不好?是因为你没真正理解面向对象的思想! 8. C#(Sharp)进阶篇:文件操作 9.C#

智慧空间实验室 5073

C# ASP.NET中连接数据库并使用GridView和DropdownList展示数据

ADO.NET 是一个用于在 .NET 环境下访问数据源的 API,它允许程序直接操作数据库中的数据。ADO.NET 架构由多个关键组件构成,主要包括以下几个模块:数据提供者 (Data Providers):为特定类型的数据库提供与数据源交互所需的功能。每个数据提供者包含四个核心组件:连接对象、命令对象、数据读取器和数据适配器。连接对象 (Connection):用于建立到数据源的物理连接。命令对象 (Command)

weixin_35899324的博客 1215

C#实现基恩士PLC通信及数据库交互教程

可编程逻辑控制器(PLC)广泛应用于工业自动化领域,而其通信协议则是这些系统相互协作的基石。基恩士PLC作为众多制造商之一,提供特有的通信协议以支持其设备与外部系统的数据交换。了解基恩士PLC通信协议的基本工作原理和数据格式是开发与PLC交互程序的关键。在深入学习C#中的Socket编程之前,理解网络通信协议栈是至关重要的。协议栈是一个概念模型,用于描述不同网络协议是如何相互作用、层叠以及处理数据传输过程的。物理层:负责网络设备之间的原始比特流传输,例如网线、光纤、无线电波等。链路层。

weixin_35749545的博客 1464

Sourcetree与Gitee的搭配使用

初次将gitee与sourcetree联合起来使用,还是遇到了不少问题,其中最让人烦恼的就是在我修改了一下用户名之后,便无法在Sourcetree直接推送到gitee,很是让人郁闷。本文处理Sourcetree与gitee搭配使用过程中的问题:Sourcetree身份验证失败,无法推送;Sourcetree推送时,无法显示要推送的分支;Sourcetree远端上面有感叹号。

年少时的棉花糖 4434

《广告核心指标驱动的AI投放系统:从数据洞察到智能决策的全链路优化》

本方案通过构建广告核心指标驱动的AI投放系统,实现从数据采集到智能决策的全链路自动化。

专注Java领域与微服务架构,热爱人工智能与深度学习 1068

Unity微信小游戏资源管理实战:YooAsset的Tag与Group策略精讲

本文深入解析了在Unity微信小游戏开发中,如何利用YooAsset的Tag与Group策略进行精细化资源管理。通过实战案例,详细阐述了如何通过Tag实现核心资源的必下与额外资源的按需加载,并借助Collector的合理打包策略,实现热更新包体最小化,从而有效解决加载慢、更新流量大的痛点,最终提升玩家体验。

weixin_29012677的博客 270

【环境搭建】使用openSfM+MVSNet重建稠密点云

本帖详细介绍了如何使用openSfM+MVSNet对真实采集的数据进行稀疏重建与稠密重建,并针对一些真实场景下可能遇到的问题进行了整理。

YuhsiHu的博客 1972

yolov8的Detect层详解(输出维度改动)

对于部署端需要拿到onnx的output进行后处理,但是基于anchor_free的yolov8输出是1*(4+cls)*8400,不是我们常见的ncwh格式,所以对Detect层进行了学习,分享一下体会。

yjcccccc的博客 2万+

医疗信创国产化替代目前面临哪些难题?如何利用国产虚拟化技术促进医院信创建设

业务系统众多,存在大量信创改造模糊地带,既有老系统,也有新系统,故障点多,管理难度高,IT人力资源不足,其对硬件的支撑能力也提出了越来越高的要求,由此造成硬件成本、管理成本以及能耗成本都非常高。

云宏winhong的博客 2657

核心组件大换血:Backbone与Neck魔改篇:YOLO26替换EfficientNetV2主干:神经架构搜索(NAS)的最优解嫁接

YOLO26引入EfficientNetV2作为Backbone的改进方案探索了计算机视觉模型优化的前沿方向。文章首先分析了YOLO26默认C3k2模块的局限性,指出其在通道利用效率和缩放策略上的不足。随后重点介绍了EfficientNetV2的核心优势,包括Fused-MBConv模块、训练感知的NAS搜索空间和渐进式学习策略,这些特性使其在精度和效率上保持领先。最后提出了将EfficientNetV2嫁接至YOLO26的具体方案,强调通道对齐这一关键挑战,并给出两种解决方案。这一改进思路展现了&quot

ZDQ58818的博客 309

【人工智能】《Deep Dive into LLMs like ChatGPT 》—— Andrej Karpathy 第三阶段:强化学习(Reinforcement Learning, RL)

摘要:强化学习(RL)阶段通过让模型自主生成并验证答案,突破SFT阶段的模仿局限,使其在数学、代码等领域形成独特的推理路径。RL流程包括批量生成解答、自动批改筛选正确路径,并采用PPO/GRPO算法优化模型。模型会自发涌现自我检查、回滚等策略,显著提升正确率(如AIME竞赛准确率从15%升至56%)。与SFT模型相比,RL模型具备主动链式思维、验算能力,响应时间更长但效果更优,形成真正的“思考模型”。三阶段对比显示,RL通过可验证题的对错奖励机制,赋予模型超越人类范式的推理能力。

奶爸的编程之路,也就一周冷个三天 149

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: C#连接Oracle数据库
下一篇: C#使用TreeView加载系统应用菜单代码
软件开发明哥
博客等级 码龄22年 237粉丝 125原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件开发明哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值