独家:C#数据库操作的三种经典用法

2016-02-19 14:10 1 1 收藏

有了下面这个独家:C#数据库操作的三种经典用法教程,不懂独家:C#数据库操作的三种经典用法的也能装懂了,赶紧get起来装逼一下吧!

【 tulaoshi.com - 编程语言 】

由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结。本人也是第一次用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();
  }
 }
}
  以上的程序概括了最典型的用法,也是最基本的用法.更多的用法我将会陆续给出,大家有什么疑问或建议,欢迎来信(jiangbiao0827@163.com)或留言。

来源:https://www.tulaoshi.com/n/20160219/1606361.html

延伸阅读
在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长时间的数据保留,还能实现备份数据的持续验证,提高数据恢复服务水平,方便实现数据容灾等。 重复的数据可能有这样两种情况,...
代码如下: ? $dbh = @mysql_connect("localhost:3306","root","000000"); /* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */ if(!$dbh){die("error");} /* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */ @mysql_select_db("ok", $dbh); /* ...
介绍 下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过程和你在用MS Access应用程序中使用的"工具-数据库实用工具-压缩和修复"时执行的操作完全一样.实例代码使用了"迟绑定"(运行中在内存中建立COM对象),这样就不需要在工程中加入COM引用了,也不需要在PC上安装MS Acc...
数据库访问是程序中应用最普遍的部分。随着C#和ADO.NET的引入,这种操作变得更简单。这篇文章将示范四种最基础的数据库操作。  ● 读取数据。其中包括多种数据类型:整型,字符串,日期型。  ● 写数据。如读数据一样,我们也需要写入多种类型的数据。这可以通过SQL语句来完成。  ● 更新或修改数...
标签: Web开发
1.C#连接连接Access 代码如下: using System.Data;  using System.Data.OleDb;  ..  string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";  strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb";  OleDbConnection objConnection=new OleDbConnection(strConnectio...

经验教程

987

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部