知识大全 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#连接各类数据库的方法集合 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文列出了C#连接A
C#创建SQLServer数据库浅析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C#语言有很
c#中连接ODBC数据库 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSyste
C#中读取数据库中Image数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DataRead
C#语言学习:C#数据报编程之测试程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C#中自定
C#操作Access数据库的例子 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 添加 usin
上午看到一个兄弟的文章很辛苦的想实现不改代码只改配置来访问不同类型的数据库自己去实现工厂模式精神可嘉但是殊不知c#已经自己为不同类型数据库的访问做了一个工厂在这里我就把使用工厂的例子贴出来供不知道
C#两种连接数据库的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Ar
数据库中与C#中的数据类型对照 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ///<su