JSM Sqlhelper

概述

JSM是jishume的縮寫,是一個開源項目的代稱。SqlHelper是由JSM開源團隊開發的資料庫操作組件,是繼前期微軟SqlHelper開發而來。

新特性

1.繼承了原SqlHelper的靜態方法模式並加以最佳化。

2.增強web.config配置支持,以方便網站的日常維護。

3.增加面象對象類,使用SqlHelper對象可以輕鬆實現複雜的程式邏輯。

4.增加對Access、Oracle、MySql資料庫支持。

5.增加TableFramework類,用於實現簡單的Insert和Update語句,自動生成參數和Sql語句,減少代碼量。

配置方法

打開web.config檔案,配置configuration節點下的configurationSettings中的add項,其中name標識為程式默認的讀取連結地址,如果不想在web.config中讀取,可以重寫和使用方法傳入方式傳入連結字元串。web.config配置實例代碼如下:

<?xml version="1.0"?>

<configuration>

<connectionStrings>

<add connectionString="server=.;uid=sa;pwd=***;database=dbname" name="SqlServerHelper"/>

<add connectionString="Data Source=orcl;User Id=system;Password=***;Integrated Security=no" name="OracleHelper"/>

<add connectionString="server=localhost;uid=root;pwd=***;database=mysql_dbname" name="MySqlHelper"/>

</connectionStrings>

<system.web>

<compilation debug="true" />

</system.web>

</configuration>

實現方法

/// <summary>

/// 讀取學生信息

/// </summary>

DataTable ReadStudent(long stid)

{

return SqlServerHelper.ReadTable("select * from [Students] where stid=@stid",

SqlServerHelper.CreateInputParameter("@stid", SqlDbType.BigInt, stid));

}

/// <summary>

/// 刪除學生信息

/// </summary>

int DeleteStudent(long stid)

{

return SqlServerHelper.ExecuteNonQuery("delete from [Students] where stid=@stid",

SqlServerHelper.CreateInputParameter("@stid", SqlDbType.BigInt, stid));

}

面象對象

/// <summary>

/// 讀取學生信息

/// </summary>

DataTable ReadStudent(long stid)

{

using (SqlServerHelper helper = new SqlServerHelper())

{

helper.Command.CommandText = "select * from [Students] where stid=@stid";

helper.AddParameter("@stid", SqlDbType.BigInt, stid);

helper.Open();

return helper.ReadTable();

}

}

/// <summary>

/// 刪除學生信息 實現事務和執行刪除SQL語句

/// </summary>

int DeleteStudent(long stid)

{

using (SqlServerHelper helper = new SqlServerHelper())

{

helper.Open();

//啟動事務

SqlTransaction tran = helper.Connection.BeginTransaction();

helper.Command.Transaction = tran;

try

{

helper.Command.CommandText = "delete from [Students] where stid=@stid";

helper.AddParameter("@stid", SqlDbType.BigInt, stid);

int r= helper.ExecuteNoneQuery();

tran.Commit();

return r;

}

catch {

tran.Rollback();

throw;

}

}

}

相關詞條

熱門詞條

聯絡我們