放分求点经典数据库操作代码

奔跑9999 2005-11-21 05:02:54
公司有同事新开始写C#FORM程序,因为我的代码写的极差劲,实在是怕误人子弟,所以在此,献上50分,求大侠们给点经典的代码,只要是操作数据库的,少不要紧,但希望全面点,另外一定是要繁体版的,因为他用的是繁体系统,谢谢!如果分不够再加!

MSN:fpnet2005@msn.com
fp668@163.com
...全文
246 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑9999 2005-11-23
  • 打赏
  • 举报
回复
UP
pegtop 2005-11-22
  • 打赏
  • 举报
回复
下载MS的SqlHelper
wuxinrenlydia 2005-11-22
  • 打赏
  • 举报
回复
我給你,繁體版的,你要給分我。
偶msn:missing220@hotmail.com.已經加你了。
hunter_32 2005-11-22
  • 打赏
  • 举报
回复
裡面個別地方可能有錯誤,我沒有調試。
hunter_32 2005-11-22
  • 打赏
  • 举报
回复
using System;
using System.Data;
using System.Data.SqlClient;

namespace fenghuaDG
{
/// <summary>
/// sql數據庫基本操作類
/// 密封類不能夠被繼承
/// </summary>
public sealed class DBclass
{
private string _strConn = "";
SqlConnection myConn;
SqlCommand myComm;
SqlDataReader dr;
SqlDataAdapter da;
SqlTransaction MyTrans;

/// <summary>
/// 構造函數對數據庫連接進行初始化
/// </summary>
/// <param name="strConn">數據庫連接字符串</param>
public DBclass(string strConn)
{
_strConn = strConn;
myConn = new SqlConnection(strConn);
}

/// <summary>
/// 開啟數據庫連接
/// </summary>
/// <returns>返回成功與否</returns>
public bool openConn()
{
try
{
myConn.Open();
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 以事物方式打開數據庫
/// </summary>
/// <returns>返回是否成功</returns>
public bool openConnByTrans()
{
try
{
this.MyTrans = myConn.BeginTransaction();
myConn.Open();
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 執行事務「如果失敗自動回滾」
/// </summary>
/// <returns>返回是否執行成功</returns>
public bool MyTransCommit()
{
try
{
this.MyTrans.Commit();
return true;
}
catch
{
this.MyTrans.Rollback();
return false;
}
}

/// <summary>
/// 回滾事務
/// </summary>
/// <returns>回滾是否成功</returns>
public bool MyTransRollback()
{
try
{
this.MyTrans.Rollback();
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 關閉數據庫連接
/// </summary>
/// <returns>返回成功與否</returns>
public bool closeConn()
{
try
{
if(myConn != null)
{
myConn.Close();
myConn.Dispose();
}
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 利用查詢語句返回一個DataTable
/// </summary>
/// <param name="reTable">存放查詢數據的表</param>
/// <param name="sqlStr">T-sql語句</param>
/// <param name="tableName">返回的DataTable的名稱</param>
/// <returns>返回是否查詢成功</returns>
public bool ReDataTable(ref DataTable reTable,string sqlStr,string tableName)
{
try
{
myComm = new SqlCommand(sqlStr,myConn);
da = new SqlDataAdapter(myComm);
da.Fill(reTable);
myConn.Dispose();
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 利用查詢語句返回一個DataSet
/// </summary>
/// <param name="reDS"></param>
/// <param name="sqlStr">T-sql語句</param>
/// <param name="dataSetName">DataSet的名稱</param>
/// <returns>返回是否查詢成功</returns>
public bool ReDataSet(ref DataSet reDS,string sqlStr,string dataSetName)
{
DataSet ds = new DataSet(dataSetName);
try
{
myComm = new SqlCommand(sqlStr,myConn);
da = new SqlDataAdapter(myComm);
da.Fill(reDS);
myConn.Dispose();
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 從數據庫讀取數據並返回一個DataView
/// </summary>
/// <param name="reDV">您</param>
/// <param name="sqlStr">T-sql語句</param>
/// <returns>返回DataView</returns>
public bool ReDataView(ref DataView reDV,string sqlStr)
{
DataTable dt = new DataTable();
try
{
myComm = new SqlCommand(sqlStr,myConn);
da = new SqlDataAdapter(myComm);
da.Fill(dt);
myConn.Dispose();
reDV.Table = dt;
return true;
}
catch
{
return false;
}
}

/// <summary>
/// 執行T-sql語句「寫數據庫」
/// </summary>
/// <param name="sqlStr">T-sql</param>
/// <returns></returns>
public bool MyRecordModify(string sqlStr)
{
myComm = new SqlCommand(sqlStr,myConn);
try
{
myConn.Open();
int i = myComm.ExecuteNonQuery();
dr.Close();
if(i>=0)
return true;
else
return false;
}
catch
{
return false;
}
finally
{
myConn.Close();
}
}

/// <summary>
/// 從數據庫中查詢一條記錄的一個字段並返回
/// </summary>
/// <param name="sqlStr">T-sql語句</param>
/// <returns>返回這一條記錄的一個字段</returns>
public string ReOneRecord(string sqlStr)
{
string reStr = "";
try
{
myComm = new SqlCommand(sqlStr,myConn);
myConn.Open();
dr = myComm.ExecuteReader();
if(dr.HasRows)
{
while(dr.Read())
{
reStr = dr[0].ToString();
}
}
dr.Close();
return reStr;
}
catch
{
return reStr;
}
finally
{
myConn.Dispose();
myConn.Close();
}
}

/// <summary>
/// 從數據庫查詢一條記錄並返回
/// </summary>
/// <param name="RecordNumber">字段的個數</param>
/// <param name="sqlStr">T-sql語句</param>
/// <returns>將記錄數組返回</returns>
public string[] ReOneRecord(int RecordNumber,string sqlStr)
{
string[] reStr = new string[RecordNumber];
try
{
myComm = new SqlCommand(sqlStr,myConn);
myConn.Open();
dr = myComm.ExecuteReader();
if(dr.HasRows)
{
while(dr.Read())
{
for(int j=0;j<RecordNumber;j++)
{
reStr[j] = dr[j].ToString();
}
}
}
dr.Close();
return reStr;
}
catch
{
return reStr;
}
finally
{
myConn.Dispose();
myConn.Close();
}
}

/// <summary>
/// 嵌套事務進行數據庫操作
/// </summary>
/// <param name="sqlStr">數據庫操作語句集合</param>
/// <returns>數據庫操作成功與否</returns>
public bool NestingTransction(string[] sqlStr)
{
int iResult=0 ;
myComm = new SqlCommand();
myConn.Open();
this.MyTrans = myConn.BeginTransaction();
myComm.Connection = myConn;

try
{
//提交事務
for( int i = 0 ; i < sqlStr.Length ; i++ )
{
if( sqlStr[i] == null || sqlStr[i].Trim() == "" )
continue;
myComm.CommandText = sqlStr[i];
iResult += myComm.ExecuteNonQuery();
}
this.MyTrans.Commit();
return true;
}
catch
{
//如果失敗則回滾事務
this.MyTrans.Rollback();
return false;
}
finally
{
myConn.Dispose();
myConn.Close();
}
}


/// <summary>
/// 翻頁函數裡面不能出現 select where order by 等控制字符
/// </summary>
/// <param name="reTable">存放數據的用戶自定義表</param>
/// <param name="Table">要牟詢數據庫</param>
/// <param name="Option">悼制段如 name = "qw" and age = 18</param>
/// <param name="FindFields">字段列表用,隔開</param>
/// <param name="ID">控制字段數據表中無重復數據的字段(必須無重復)</param>
/// <param name="PageSize">每頁的資料筆數</param>
/// <param name="CurPage">目前要查詢的頁次</param>
/// <returns></returns>
public void pagination(ref DataTable reTable,string Table,string Option,string FindFields,string ID,int PageSize,int CurPage)
{
string conStr="";
if(CurPage>1)
{
conStr="select top " + PageSize.ToString() + " " + FindFields + " from " + Table + " where " + Option;
conStr +=" and " + ID + " not in(select top " + Convert.ToString(PageSize*(CurPage-1)) + " " + ID + " from " + Table + " where " + Option +" " + ID + ") " + ID;
}
else
{
conStr="select top " + PageSize.ToString() + " " + FindFields + " from " + Table + " where " + Option + " " + ID;
}
this.ReDataTable(ref reTable,conStr,"myTable");
}
}
}
奔跑9999 2005-11-22
  • 打赏
  • 举报
回复
沒有人要分嗎?
hoowoo 2005-11-21
  • 打赏
  • 举报
回复
英文的倒有!!
自由程序员 2005-11-21
  • 打赏
  • 举报
回复
IDE的帮助文档里就有得嘛
另,在这儿也有很多:http://www.baidu.com/s?wd=%CA%FD%BE%DD%BF%E2%20%B2%D9%D7%F7%20%B4%FA%C2%EB%20C%23&cl=3
奔跑9999 2005-11-21
  • 打赏
  • 举报
回复
真的沒有人有嗎?幫忙來看看吧!

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧