编程技巧 C#数据库操作的三种用法

C# 异步编程模式详解 C# 异步编程模式是一种强大的编程范式,它允许开发者在处理耗时操作时保持应用程序的响应性。通过 async 和 await 关键字,以及各种异步编程模式和框架,C# 提供了丰富的工具来简化异步编程的实现和维护。在实际应用中,异步编程可以显著提高应用程序的性能和用户体验,特别是在处理 I/O 密集型任务时。因此,掌握 C# 异步编程模式对于现代软件开发来说是非常有价值的。 阅读详情
以下是我在visual studio 2005上写的一个类(连的是 SQL Server  2005),已经过 测试 通过。里面有3个方法比较典型,源码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using System.Data.SqlClient;

namespace DatabaseOperate
{
 class SqlOperateInfo
 {
  //Suppose your ServerName is "aa",DatabaseName is "bb",UserName is "cc", Password is "dd"
  private string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";
  //This table contains two columns:KeywordID int not null,KeywordName varchar(100) not null
  private string dataTableName = "Basic_Keyword_Test";

  private string storedProcedureName = "Sp_InertToBasic_Keyword_Test";
  private string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";
  //sqlUpdateCommand could contain "insert" , "delete" , "update" operate
  private string sqlUpdateCommand = "Delete From Basic_Keyword_Test Where KeywordID = 1";
//方法一
  public void UseSqlReader()
  {
   SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
   SqlCommand sqlCommand = new SqlCommand();
   sqlCommand.CommandType = System.Data.CommandType.Text;
   sqlCommand.Connection = sqlConnection;
   sqlCommand.CommandText = sqlSelectCommand;

   sqlConnection.Open();
   SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
   while(sqlDataReader.Read())
   {
    //Get KeywordID and KeywordName , You can do anything you like. Here I just output them.
    int keywordid = (int)sqlDataReader[0];
    //the same as: int keywordid = (int)sqlDataReader["KeywordID"]
    string keywordName = (string)sqlDataReader[1];
    //the same as: string keywordName = (int)sqlDataReader["KeywordName"]
    Console.WriteLine("KeywordID = " + keywordid + " , KeywordName = " + keywordName);
   }

   sqlDataReader.Close();
   sqlCommand.Dispose();
   sqlConnection.Close();
  }

//方法二
  public void UseSqlStoredProcedure()
  {
   SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
   SqlCommand sqlCommand = new SqlCommand();
   sqlCommand.CommandType = CommandType.StoredProcedure;
   sqlCommand.Connection = sqlConnection;
   sqlCommand.CommandText = storedProcedureName;

   sqlConnection.Open();
   sqlCommand.ExecuteNonQuery();
   //you can use reader here,too.as long as you modify the sp and let it like select * from ....

   sqlCommand.Dispose();
   sqlConnection.Close();
  }
//方法三
  public void UseSqlDataSet()
  {
   SqlConnection sqlConnection = new SqlConnection(sqlConnectionCommand);
   SqlCommand sqlCommand = new SqlCommand();
   sqlCommand.CommandType = System.Data.CommandType.Text;
   sqlCommand.Connection = sqlConnection;
   sqlCommand.CommandText = sqlSelectCommand;

   sqlConnection.Open();
   SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
   sqlDataAdapter.SelectCommand = sqlCommand;
   DataSet dataSet = new DataSet();
   //sqlCommandBuilder is for update the dataset to database
   SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
   sqlDataAdapter.Fill(dataSet, dataTableName);

   //Do something to dataset then you can update it to  Database.Here I just add a row
   DataRow row = dataSet.Tables[0].NewRow();
   row[0] = 10000;
   row[1] = "new row";
   dataSet.Tables[0].Rows.Add(row);

   sqlDataAdapter.Update(dataSet, dataTableName);

   sqlCommand.Dispose();
   sqlDataAdapter.Dispose();
   sqlConnection.Close();
  }
 }
}

  align="center" marginwidth="0" marginheight="0" src="http://o.thec.cn/jms003/zy728x90GGFILECODE.html" frameborder="0" scrolling="no">

10 个 C# 编程技巧:让你的代码效率飙升 200%! 阅读详情

相关推荐

C# 异步与并行编程:提升应用性能的技巧

C# 中的异步编程和并行编程是提升应用性能的两大关键技术。异步编程非常适合 I/O 密集型任务,通过非阻塞操作提高应用的吞吐量和响应性;而并行编程则适用于计算密集型任务,通过多线程提高 CPU 使用率,加速计算过程。了解这两种编程模式的特点及最佳实践,并结合具体场景选择合适的策略,能够极大地提升应用程序的性能。在实践中,合理结合异步与并行编程模式,不仅能让应用程序更高效地运行,还能提供更流畅的用户体验。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1328

C# 数据库操作通用类(增删改查)

数据库操作通用类 优点:达到了sql防注入,并且,将对数据库的操作独立开来,可以提高内聚,降低耦合。达到了哪里使用,哪里关闭的效果,避免隐患。 public class SqlHelper { SqlConnection conn = null; SqlCommand com = null; SqlDataReader rd = null; ...

MrDarren的博客 9508

C#数据库操作实战技巧大全.zip

htmltable {th, td {th {pre {简介:在.NET框架中,C#提供了丰富的库和工具,特别是ADO.NET框架,用于高效地进行数据库操作。本压缩包提供了C#进行数据库操作的源码示例,涵盖了从基础的连接、查询、管理到进阶的事务处理、参数化查询和异步操作等各个方面。通过学习这些源码,开发者可以深入理解并掌握C#在企业级应用中数据库操作的各种实战技巧。

weixin_35987118的博客 1047

C#数据库编程基础之数据库配置及部分操作数据库技巧

  1.要搞数据库编程必须要懂得配置数据库,有几点要提到: (1) 默认情况下sql server数据库只允许以windows身份登录(即默认你是该电脑的主人,以这种身份登录可 以对数据库服务器拥有最高权限),你可以开启其SQL SERVER 和 windows混合登录模式(就sql server 2000而 言是在企业管理器里的菜单栏"操作"-"属性"里"安全性"里设置)

扬 帆 起 航ing 1190

C#数据库操作类:方法与实践

ADO.NET 中的DataSet是一个非常重要的组件,它代表了一个完整的数据集合,包括多个表(DataTable),关系(),以及约束(Constraint它可以用作数据的内存驻留表示形式,使得从多个数据源如数据库或XML文件中检索到的数据能够进行操作。DataSet可以用来传递数据、存储数据的副本以及在应用程序的不同层次间共享数据。一个典型的应用场景是,DataSet可以用于需要在应用程序和数据源之间断开连接的场景。

weixin_30653091的博客 834

优快云技术专家分享:C#编程技巧详解

本文还有配套的精品资源,点击获取 简介:《优快云技巧集》是一本针对C#语言的深度技术指南,由优快云社区出版。它汇集了众多技术专家的实战经验和技巧,全面覆盖了C#的基础语法和高级特性。读者将通过学习变量、数据类型、控制流、函数、类和对象等核心概念,以及泛型、委托、事件、Linq和异步编程等内容,提升编程技能。书中还深入探讨面向对象编程、设计模式、.NET框架架构和数据库操...

weixin_42668301的博客 728

C#异步编程基础入门总结

异步这概念刚开始接触的时候,不是那么容易接受,但是需要用的地方还真的挺多的,刚学习的时候,也很懵逼走了不少弯路,所以这里有必要总结一下。

dotNet全栈开发 2万+

C#数据库操作全攻略:从基础到高级技能

本文还有配套的精品资源,点击获取 简介:C#编程中的数据库操作是必备技能,本资料详细介绍了C#连接数据库、数据读写以及多种操作数据库的方法。内容包括使用SQL语句、参数化操作和存储过程向数据库添加数据,DataGrid控件在数据库连接中的应用,通用数据库操作类的构建,文本文件导入SQL数据库,图片数据的存储,基础的CRUD操作,以及SQL Server 2005及以上版本的...

weixin_42402664的博客 2286

C# ADO.NET数据库操作

C# ADO.NET数据库操作 C# ADO.NET数据库操作及常用类概述 C# Connection:连接数据库 C# Command:操作数据库 C# DataReader:读取查询结果 C# DataSet和DataTable:将查询结果保存到DataSet或DataTable中 C# DataRow和DataColumn:更新数据表 C# DataSet:更新数据库 C# ComboBox:组合框控件数据绑定 C# DataGridView:数据表格控件数据绑定 C# 数据表

qq_38599908的博客 4000

C#三层架构数据库操作完整指南

本文还有配套的精品资源,点击获取 简介:C#作为流行的编程语言,在开发多方面应用中具有广泛应用。本文介绍“c#三层数据库”架构模式,该模式将应用程序分为表现层、业务逻辑层和数据访问层三个层次。通过该架构,可提升代码的可重用性、可维护性和可扩展性。详细解释了每一层的职责和实现方式,比如使用Windows Forms、WPF、 构建表现层,使用类库实现业务逻辑层...

weixin_35794316的博客 1576

C#编程全程实践案例教程

C#(发音为 “See Sharp”)是一种由微软开发的现代、类型安全的面向对象的编程语言。它在2000年随着.NET平台的推出而首次亮相,并被设计成一种简单、强大且安全的编程语言。C#强调类型安全性,并结合了面向对象编程(OOP)和组件编程的特点,使得它成为开发企业级应用程序、游戏和移动应用的理想选择。在C#中,接收命令行参数是通过程序的入口点Main函数的参数实现的。Main函数可以重载,常见的形式包括不接收任何参数、接收一个字符串数组参数或者接收一个字符串列表参数。

weixin_33628677的博客 980

C#ADO.NET数据库操作

C#ADO.NET数据库操作的相关介绍,并对涉及到的类进行介绍说明

yue008的博客 2万+

C#数据库操作封装类大全

存储过程是一组为了完成特定功能的SQL语句集,它被编译后存储在数据库服务器中。开发者可以通过指定名称和参数来调用它。存储过程有助于封装和模块化复杂的数据库操作,提高代码的可重用性并减少网络通信量。应用场景广泛,包括但不限于:数据完整性约束的实现复杂的数据查询操作批量数据操作业务逻辑的集中处理例如,一个电子商务平台可能会使用存储过程来管理库存更新、订单处理和支付确认等业务流程。

weixin_29781865的博客 927

C# SQLite 数据库操作

C# SQLite数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQLite System.Data.SQLite 菜鸟教程 SQL 教程 章节: 1、下载安装 2、数据类型 3、创建数据库 4、删除数据库 5、创建表 6、删除表 7、查询表结构 8、更改表名 9、增加列(字段) 10、读取创建表的 SQL 语句 11、更改列名 12、删除列.

1158

C#全领域实用类库详解与数据库操作

C#(读作 “See Sharp”)是由微软公司开发的一种现代、类型安全的面向对象编程语言。自从2002年随.NET Framework首次发布以来,C#迅速成为开发Windows桌面应用程序、服务器端应用程序和游戏开发(特别是通过Unity引擎)的首选语言之一。数据库操作是任何信息系统的核心部分,尤其是在需要存储和检索大量数据的应用程序中。为了简化这些常见的任务,许多开发者会使用SqlHelper类。

weixin_35649491的博客 759

TK抓包协议分析:So层逆向

第三个参数是一个回调函数,这里他的返回值1表示成功,0表示失败,那我们手动把他Hook为0,让他不支持quic协议,实现降级。等,我们是为了解决抓包问题,那很有可能是在net目录下(network),那来搜索一下。开了抓包以后APP直接是网络无连接了,并且抓到的请求也是不正常的,下面我们就开始定位。看了半天感觉也没啥有用的东西,那下面我们整理一下已经有信息,来猜测一下,后续怎么进行。那可以猜测,我们真正需要Hook的那个函数也有可能是这样加载的,可以字符串搜索一下。

2503_90751938的博客 3419

C# 编程语言学习教程

C# 是一种现代的、通用的、面向对象的编程语言,由微软于 2000 年推出。它是 .NET 平台的主要语言之一,广泛应用于 Windows 应用程序、Web 应用程序、游戏开发等领域。C# 是一门功能强大的编程语言,适用于多种开发场景。通过本教程,你已经掌握了 C# 的基础语法、面向对象编程、异常处理、文件操作、多线程编程以及数据库操作等重要概念。

孤客科技 1427

【电脑技巧】CPU正常运行时间过长,怎么解决?

目录 问题描述 解决方案 1、问题描述 不少同志都遇到过这样的问题:按【Ctrl + alt + delete】打开任务管理器,切到“性能”选项卡下,发现自己电脑的CPU正常运行时间竟然为好几十天!很多人担心这会不会影响电脑的寿命?于是很想知道这是怎么回事,以及如何解决这个问题。 我在此解答一下,这是由于你的电脑开启了“快速启动”这一选项的缘故,只要把这一选项关闭,问题就解决了。 2、解决方案 怎样关闭“快速启动”呢?按照如下的步骤来即可。 顺便声明一下,笔者的电脑配置: 使用电脑:联想Yoga 14

橄榄树下的孩子 3万+

工作中经常用到的C#编程小技巧

1.关于C#控件获得焦点问题 private void Form1_Activated(object sender, EventArgs e) {     this.textBox2.Focus(); } 若写在private void Form1_Load(object sender, EventArgs e)中 则focus总是会落到TabIndex最小的控件上。

ds252743641的专栏 786

保姆级教程:用Python+OpenCV实现相移法与格雷码三维重建(从生成条纹到点云生成)

本文详细介绍了使用Python和OpenCV实现相移法与格雷码三维重建的全流程,从条纹生成到点云计算。通过结构光技术,结合相移法和格雷码,实现高精度的三维重建,适用于无纹理物体表面的密集对应点生成。教程包含环境搭建、条纹生成、相位计算、三维点云重建及常见问题排查,适合计算机视觉开发者和研究人员。

weixin_33443333的博客 351

别再手动填序号了!用Python脚本在Arcgis属性表里实现分组自动编号(附完整代码)

本文详细介绍了如何利用Python脚本在Arcgis属性表中实现分组自动编号,告别低效的手工操作。通过核心代码解析和实战教程,帮助GIS工程师快速掌握自动化编号技术,提升工作效率并降低错误率。特别适合城市规划、国土调查等需要处理大量分组数据的场景。

weixin_42532473的博客 309
上一篇: C#基础学习 —— 异步编程篇
下一篇: 使用C#创建SQL Server的存储过程
JMS_003
博客等级 码龄19年 5粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值