知识大全 C#如何使用数据库

Posted 数据库

篇首语:怀抱观古今,寝食展戏谑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#如何使用数据库相关的知识,希望对你有一定的参考价值。

C#如何使用数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  数据库 在我们开发项目中那是最常见的了 无论复杂的项目 还是简单的项目 只要涉及数据的操作(增删改查) 都会用到数据库 当然使用的数据库的种类根据项目的需求不同 也是不同的 在我所做的项目中就是用过ACCESS SQL Server Oracle g 因此简单总结下c#如何使用数据库的 程序执行sql语句(包括单条sql 多条sql 存储过程 函数等等)大体有三个步骤 连接数据库 执行sql语句 返回结果 那么我们来看看c#是如何完成这三个步骤的 无论哪种数据库都是这三个步骤 那么就不按数据库分了 按照返回结果的类型来分类吧

     执行sql语句返回受影响的行数

  ( ) 一条sql语句

  view plainprint?

  public static int ExecuteNonQuery(string connStr string sql)

   OleDbConnection conn = null try conn = new OleDbConnection(connStr) conn Open() OleDbCommand mand = new OleDbCommand(sql conn) return mand ExecuteNonQuery() catch return finally if (conn != null)

  conn Close() ( ) 多条sql语句 返回受影响行数 由于多条sql为了保证数据库的正确性 最好使用事务方式运行

  view plainprint?

  public static int ExecuteNonQuery(string connStr List<string> sqlList)

   int executeCount =

  OleDbTransaction transaction = null

  OleDbConnection conn = null try conn = new OleDbConnection(connStr) conn Open()

  transaction = conn BeginTransaction()

  OleDbCommand mand = new OleDbCommand()

  mand Connection = conn

  mand Transaction = transaction

  for (int i = i < sqlList Count i++)

   mand CommandText = sqlList[i]

  executeCount += mand ExecuteNonQuery() transaction Commit() catch if (transaction != null)

  transaction Rollback() return finally if (conn != null)

  conn Close() return executeCount 返回DataSet

  view plainprint?

  public static DataSet ExecuteQueryReturnDataSet(string connStr string sql)

   OleDbConnection conn = null DataSet ds = null try conn = new OleDbConnection(connStr) ds = new DataSet() conn Open()

  OleDbDataAdapter mand = new OleDbDataAdapter(sql conn) mand Fill(ds datasetName ) catch finally if (conn != null)

  conn Close() return ds 返回OleDbDataReader

  view plainprint?

  public static OleDbDataReader ExecuteQueryReturnReader(string sql string connStr)

   OleDbConnection conn = new OleDbConnection() OleDbDataReader reader = null

  try conn = new OleDbConnection(connStr) conn Open()

  OleDbCommand mand = conn CreateCommand() mand CommandText = sql reader = mand ExecuteReader() catch finally if (conn != null)

  conn Close() return reader 执行存储过程并返回受影响行数(以Oracle为例)

  view plainprint?

  public static int RunProcedure(string storedProcName IDataParameter[] parameters)

   int result = try using (OracleConnection connection = new OracleConnection(GetConnectionString()))

   connection Open()

  OracleCommand mand = BuildQueryCommand(connection storedProcName parameters)

  result = mand ExecuteNonQuery() catch (Exception e)

  

  

  return result private static OracleCommand BuildQueryCommand(OracleConnection connection string storedProcName

  IDataParameter[] parameters)

   OracleCommand mand = new OracleCommand(storedProcName connection)

  mand CommandType = CommandType StoredProcedure

  foreach (OracleParameter parameter in parameters)

   mand Parameters Add(parameter)

  return mand 带参数的sql语句

  view plainprint?

  public static int ExecuteNonQuery(string sql string connStr OleDbParameter[] mandParameters)

   int count = OleDbCommand cmd = new OleDbCommand()

  OleDbConnection conn = null try conn = new OleDbConnection(connStr) PrepareCommand(cmd conn sql mandParameters) count = cmd ExecuteNonQuery() cmd Parameters Clear() catch finally

  if (conn != null)

   conn Close() return count

  private static void PrepareCommand(OleDbCommand cmd OleDbConnection conn string sql OleDbParameter[] cmdParms)

   if (conn State != ConnectionState Open)

  conn Open()

  cmd Connection = conn cmd CommandText = sql cmd CommandType = CommandType Text

  if (cmdParms != null)

   foreach (OleDbParameter parm in cmdParms)

cha138/Article/program/net/201311/11763

相关参考

知识大全 C#连接各类数据库的方法集合

C#连接各类数据库的方法集合  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文列出了C#连接A

知识大全 C#创建SQL Server数据库浅析

C#创建SQLServer数据库浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#语言有很

知识大全 c#中连接ODBC数据库

c#中连接ODBC数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    usingSyste

知识大全 C#中读取数据库中Image数据

C#中读取数据库中Image数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DataRead

知识大全 C#语言学习:C#数据报编程之测试程序

C#语言学习:C#数据报编程之测试程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中自定

知识大全 C#操作Access数据库的例子

C#操作Access数据库的例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  添加  usin

知识大全 c#中的数据库访问工厂

  上午看到一个兄弟的文章很辛苦的想实现不改代码只改配置来访问不同类型的数据库自己去实现工厂模式精神可嘉但是殊不知c#已经自己为不同类型数据库的访问做了一个工厂在这里我就把使用工厂的例子贴出来供不知道

知识大全 C#两种连接数据库的方法

C#两种连接数据库的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Ar

知识大全 数据库中与C#中的数据类型对照

数据库中与C#中的数据类型对照  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///<su