C#中事務(wù)處理和非事務(wù)處理方法實(shí)例分析
更新時(shí)間:2015年07月16日 15:00:45 作者:罪惡的花生
這篇文章主要介紹了C#中事務(wù)處理和非事務(wù)處理方法,較為詳細(xì)的分析了C#中事務(wù)處理與非事務(wù)處理的使用技巧,對(duì)于使用C#進(jìn)行數(shù)據(jù)庫(kù)程序開(kāi)發(fā)有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#中事務(wù)處理和非事務(wù)處理方法。分享給大家供大家參考。具體如下:
C#代碼如下:
String connectionString = ConfigurationManager.ConnectionStrings["DB_Constr"].ToString(); SqlConnection conn = null; SqlTransaction trans = null; try { conn = new SqlConnection(connectionString); if (conn.State != ConnectionState.Open) conn.Open(); //開(kāi)啟事務(wù),可以指定事無(wú)級(jí)別。默認(rèn)為提交才可以查詢 trans = conn.BeginTransaction(); //save(conn, trans); DbUtils.commit(trans); } catch (Exception ex) { DbUtils.rollback(trans); ClientScript.RegisterStartupScript(this.GetType(), "錯(cuò)誤提示", "<script>alert('" + StringUtil.toJsStr(ex.Message) + "');</script>"); } finally { DbUtils.closeQuietly(conn, trans); } String connectionString = ConfigurationManager.ConnectionStrings["DB_Constr"].ToString(); SqlConnection conn = null; try { conn = new SqlConnection(connectionString); if (conn.State != ConnectionState.Open) conn.Open(); } catch (Exception ex) { ScriptManager.RegisterStartupScript(this, this.GetType(), "mess", "<script>alert('"+StringUtil.toJsStr(ex.Message)+"')</script>", false); } finally { DbUtils.closeQuietly(conn); }
StringUtil.cs如下:
using System; using System.Collections.Generic; using System.Text; namespace Tools{ public sealed class StringUtil { public static bool isEmpty(String str) { if (str == null) return true; if (str.Length == 0) return true; if (str == String.Empty) return true; return false; } public static bool isNotEmpty(String str) { return !isEmpty(str); } public static String toJsStr(String str) { str = str.Replace("'", "\\'"); str = str.Replace("\r", ""); str = str.Replace("\n", "\\n"); return str; } public static void Main() { Console.Write(isNotEmpty(null)); Console.Read(); } } }
DbUtils.cs如下:
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; namespace Tools{ public class DbUtils { public static SqlConnection getConnection(string connectstr) { SqlConnection conn = new SqlConnection(connectstr); if (conn.State != ConnectionState.Open) { conn.Open(); } return conn; } public static void closeQuietly(SqlConnection conn) { try { close(conn); } catch { } } public static void closeQuietly(SqlTransaction trans) { try { close(trans); } catch { } } public static void close(SqlConnection conn) { if (conn != null) { conn.Close(); conn.Dispose(); } } public static void close(SqlTransaction trans) { if (trans != null) { trans.Dispose(); } } public static void closeQuietly(SqlConnection conn, SqlTransaction trans) { closeQuietly(trans); closeQuietly(conn); } public static void commit(SqlTransaction trans) { try { if(trans!=null) trans.Commit(); } catch{ } } public static void rollback(SqlTransaction trans) { try { if (trans != null) trans.Rollback(); } catch { } } } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
幾分鐘搞懂c#之FileStream對(duì)象讀寫(xiě)大文件(推薦)
這篇文章主要介紹了c#之FileStream對(duì)象讀寫(xiě)大文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04C#中判斷本地系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)的方法
C#中一般通過(guò)InternetGetConnectedState函數(shù)返回本地系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài),下面簡(jiǎn)單介紹下,需要的朋友可以參考下2013-10-10詳解C# List<T>的Contains,Exists,Any,Where性能對(duì)比
這篇文章主要介紹了詳解C# List<T>的Contains,Exists,Any,Where性能對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12C#使用timer實(shí)現(xiàn)的簡(jiǎn)單鬧鐘程序
這篇文章主要介紹了C#使用timer實(shí)現(xiàn)的簡(jiǎn)單鬧鐘程序,涉及timer控件的使用及音頻文件的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03