來源
ASP.NET Starter Kits 的 Portal 專案。
用途
處理資料庫連接、計算資料筆數、返回各類資料集合(DataReader,DataSet,DataTable)。
原始碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Data.Common; using System.Data.Odbc; using System.Reflection; namespace SybaseUtility { public class DbHelper { public OdbcConnection DbCnn(string cString) { OdbcConnection Cnn = new OdbcConnection(); Cnn.ConnectionString = cString; Cnn.Open(); return Cnn; } public OdbcDataReader ReturnDataReader(string queryString, OdbcConnection innerCnn) { OdbcCommand Cmd = new OdbcCommand(queryString, innerCnn); Cmd.CommandType = CommandType.Text; Cmd.CommandText = queryString; Cmd.Connection = innerCnn; OdbcDataReader odr = Cmd.ExecuteReader(); innerCnn.Close(); return odr; } public DataTable ReturnDataTable(string queryString, OdbcConnection innerCnn) { OdbcDataAdapter oda = new OdbcDataAdapter(queryString, innerCnn); DataTable dt = new DataTable(); oda.Fill(dt); innerCnn.Close(); if (dt.Rows.Count > 0) return dt; else return null; } public DataSet ReturnDataSet(string queryString, OdbcConnection innerCnn, string tableCaption) { OdbcDataAdapter oda = new OdbcDataAdapter(queryString, innerCnn); DataSet ds = new DataSet(); oda.Fill(ds, tableCaption); innerCnn.Close(); return ds; } public int ReturnQueryCount(string queryString, OdbcConnection innerCnn) { OdbcCommand cmd = new OdbcCommand(queryString, innerCnn); int qCount = cmd.ExecuteNonQuery(); innerCnn.Close(); return qCount; } public static IDataReader ExecuteReader(string queryString, OdbcConnection innerCnn, params OdbcParameter[] Parameters) { OdbcCommand cmd = new OdbcCommand(); cmd.Connection = innerCnn; cmd.CommandType = CommandType.Text; cmd.CommandText = queryString; cmd.Parameters.AddRange(Parameters); OdbcDataReader odr = cmd.ExecuteReader(CommandBehavior.CloseConnection); innerCnn.Close(); return odr; } } }