資料庫C操作類
Ⅰ c# 資料庫操作類reader讀取數據的方法
public
static
sqlDataReader
MyReader(string
strSQL)
你可不可把這個函數改成這種
public
static
SqlDataReader
MyReader(string
strSQL,SqlConnection
connection
)
public
static
SqlDataReader
MyReader(string
strSQL,SqlConnection
connection
)
{
SqlCommand
cmd
=
new
SqlCommand(strSQL,
connection);
try
{
connection.Open();
SqlDataReader
myReader
=
cmd.ExecuteReader();
return
myReader;
}
catch
(System.Data.SqlClient.SqlException
e)
{
throw
new
Exception(e.Message);
}
}
然後在
try{
SqlConnection
connection
=
new
SqlConnection(connectionString);
SqlDataReader
reader
=
myData.MyReader(sqlcmd,connection);
if
(reader.Read())
{
sitename.Value
=
reader["sitename"].ToString();
en_sitename.Value
=
reader["en_sitename"].ToString();
company_name.Value
=
reader["company_name"].ToString();
en_company_name.Value
=
reader["en_company_name"].ToString();
company_tel.Value
=
reader["company_tel"].ToString();
company_fax.Value
=
reader["company_fax"].ToString();
}
}catch(){
}finally{
connection.Close();//運行之後再調用finally關閉連接
}
Ⅱ C#中如何定義資料庫操作類,並調用
以下是我編寫的一個操作access資料庫的類,其他資料庫可以參考修改,原理差不多的。希望對你有幫助。
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Configuration;
using System.Data;
namespace AutoEmailSender
{
/// <summary>
/// 資料庫交互類
/// </summary>
public class DB
{
/// <summary>
/// 獲得資料庫連接
/// </summary>
/// <returns></returns>
public static OleDbConnection GetDBConnection()
{
return new OleDbConnection(ConfigurationManager.AppSettings["ConnectString"]);
}
/// <summary>
/// 查詢結果集
/// </summary>
/// <param name="sql">執行語句</param>
/// <returns>返回一個DataTable對象</returns>
public static DataTable ExecuteDataTable(string sql)
{
using (OleDbConnection con = GetDBConnection())
{
OleDbCommand cmd = new OleDbCommand(sql, con);
return ExecuteDataTable(cmd);
}
}
/// <summary>
/// 查詢結果集
/// </summary>
/// <param name="cmd">執行語句的OleDbCommand命令</param>
/// <returns>返回一個DataTable對象</returns>
public static DataTable ExecuteDataTable(OleDbCommand cmd)
{
DataSet ds = new DataSet();
using (OleDbDataAdapter da = new OleDbDataAdapter(cmd))
{
try
{
da.Fill(ds);
}
catch (Exception e)
{
throw e;
}
}
if (ds.Tables.Count > 0)
{
ds.Tables[0].DefaultView.RowStateFilter = DataViewRowState.Unchanged | DataViewRowState.Added | DataViewRowState.ModifiedCurrent | DataViewRowState.Deleted;
return ds.Tables[0];
}
else
return null;
}
/// <summary>
/// 執行查詢,並返回查詢所返回的結果集中第一行的第一列。忽略其他列或行。
/// </summary>
/// <param name="sql">查詢語句</param>
/// <returns>返回結果集中第一行的第一列的object值</returns>
public static object ExecuteScalar(string sql)
{
using (OleDbConnection con = GetDBConnection())
{
OleDbCommand cmd = new OleDbCommand(sql, con);
return ExecuteScalar(cmd);
}
}
/// <summary>
/// 執行查詢,並返回查詢所返回的結果集中第一行的第一列。忽略其他列或行。
/// </summary>
/// <param name="cmd">查詢命令</param>
/// <returns>返回結果集中第一行的第一列的object值</returns>
public static object ExecuteScalar(OleDbCommand cmd)
{
try
{
cmd.Connection.Open();
object obj = cmd.ExecuteScalar();
cmd.Connection.Close();
return obj;
}
catch (Exception error)
{
cmd.Connection.Close();
throw error;
}
}
/// <summary>
/// 更新數據集
/// </summary>
/// <param name="dt">要更新的數據集</param>
/// <param name="insertCmd">插入SQL語句</param>
/// <param name="updateCmd">更新SQL語句</param>
/// <param name="deleteCmd">刪除SQL語句</param>
/// <returns></returns>
public static int UpdateDataSet(DataTable dt, OleDbCommand insertCmd, OleDbCommand updateCmd, OleDbCommand deleteCmd)
{
using (OleDbDataAdapter da = new OleDbDataAdapter())
{
da.InsertCommand = insertCmd;
da.UpdateCommand = updateCmd;
da.DeleteCommand = deleteCmd;
//da.UpdateBatchSize = 0; //UpdateBatchSize:指定可在一次批處理中執行的命令的數量,在Access不被支持。0:批大小沒有限制。1:禁用批量更新。>1:更改是使用 UpdateBatchSize 操作的批處理一次性發送的。
da.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
da.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
da.DeleteCommand.UpdatedRowSource = UpdateRowSource.None;
try
{
int row = da.Update(dt);
return row;
}
catch (Exception e)
{
throw e;
}
}
}
/// <summary>
/// 返回一個查詢語句執行結果的表結構
/// </summary>
/// <param name="sql">查詢語句,不支持復雜SQL</param>
/// <returns></returns>
public static DataTable GetTableSchema(string sql)
{
sql = sql.ToUpper();
DataTable dt = null;
using (OleDbConnection con = GetDBConnection())
{
OleDbCommand cmd = new OleDbCommand(sql, con);
con.Open();
using (OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.KeyInfo | CommandBehavior.SchemaOnly | CommandBehavior.CloseConnection))
{
dt = dr.GetSchemaTable();
}
}
return dt;
}
/// <summary>
/// 根據輸入的查詢語句自動生成插入,更新,刪除命令
/// </summary>
/// <param name="sql">查詢語句</param>
/// <param name="insertCmd">插入命令</param>
/// <param name="updateCmd">更新命令</param>
/// <param name="deleteCmd">刪除命令</param>
public static void GenerateUpdateSQL(string sql, OleDbCommand insertCmd, OleDbCommand updateCmd, OleDbCommand deleteCmd)
{
sql = sql.ToUpper();
DataTable dt = GetTableSchema(sql);
string tableName = dt.Rows[0]["BaseTableName"].ToString();
List<OleDbParameter> updatePrimarykeys = new List<OleDbParameter>();//主鍵參數集合
List<OleDbParameter> deletePrimarykeys = new List<OleDbParameter>();//主鍵參數集合,因為不能同時被OleDbCommand個命令引用,所以多申明一個
List<OleDbParameter> insertFields = new List<OleDbParameter>();//欄位參數集合
List<OleDbParameter> updateFields = new List<OleDbParameter>();//欄位參數集合
string columns = string.Empty, values = "", set = "", where = "";
foreach (DataRow dr in dt.Rows)
{
if (dr["IsAutoIncrement"].ToString().Equals("False"))
{
insertFields.Add(new OleDbParameter("@" + dr["BaseColumnName"].ToString(),
(OleDbType)dr["ProviderType"],
Convert.ToInt32(dr["ColumnSize"]),
dr["BaseColumnName"].ToString()));
updateFields.Add(new OleDbParameter("@" + dr["BaseColumnName"].ToString(),
(OleDbType)dr["ProviderType"],
Convert.ToInt32(dr["ColumnSize"]),
dr["BaseColumnName"].ToString()));
if (!string.IsNullOrEmpty(columns))
columns += ",";
columns += dr["BaseColumnName"].ToString();
if (!string.IsNullOrEmpty(values))
values += ",";
values += "@" + dr["BaseColumnName"].ToString();
if (!string.IsNullOrEmpty(set))
set += ",";
set += dr["BaseColumnName"].ToString() + "=@" + dr["BaseColumnName"].ToString();
}
if (dr["IsKey"].ToString().Equals("True"))
{
updatePrimarykeys.Add(new OleDbParameter("@OLD_" + dr["BaseColumnName"].ToString(),
(OleDbType)dr["ProviderType"],
Convert.ToInt32(dr["ColumnSize"]),
ParameterDirection.Input,
Convert.ToBoolean(dr["AllowDBNull"]),
Convert.ToByte(dr["NumericScale"]),
Convert.ToByte(dr["NumericPrecision"]),
dr["BaseColumnName"].ToString(), DataRowVersion.Original, null));
deletePrimarykeys.Add(new OleDbParameter("@OLD_" + dr["BaseColumnName"].ToString(),
(OleDbType)dr["ProviderType"],
Convert.ToInt32(dr["ColumnSize"]),
ParameterDirection.Input,
Convert.ToBoolean(dr["AllowDBNull"]),
Convert.ToByte(dr["NumericScale"]),
Convert.ToByte(dr["NumericPrecision"]),
dr["BaseColumnName"].ToString(), DataRowVersion.Original, null));
if (!string.IsNullOrEmpty(where))
where += " and ";
where += dr["BaseColumnName"].ToString() + "=@OLD_" + dr["BaseColumnName"].ToString();
}
}
insertCmd.CommandText = string.Format("insert into {0} ({1}) values ({2})", tableName, columns, values);
updateCmd.CommandText = string.Format("update {0} set {1} where {2}", tableName, set, where);
deleteCmd.CommandText = string.Format("delete from {0} where {1}", tableName, where);
insertCmd.Connection = GetDBConnection();
updateCmd.Connection = GetDBConnection();
deleteCmd.Connection = GetDBConnection();
foreach (OleDbParameter pa in insertFields)
{
insertCmd.Parameters.Add(pa);
}
foreach (OleDbParameter pa in updateFields)
{
updateCmd.Parameters.Add(pa);
}
foreach (OleDbParameter pa in updatePrimarykeys)
{
updateCmd.Parameters.Add(pa);
}
foreach (OleDbParameter pa in deletePrimarykeys)
{
deleteCmd.Parameters.Add(pa);
}
}
}
}
Ⅲ 支持多種資料庫的操作類採用什麼設計模式
可以用策略模式來設計,不同的資料庫使用不同的策略類
Ⅳ php用戶類的一個方法怎樣調用資料庫操作類
直接調用就行了,不過可能你需要引用文件,以下是例子
//文件conn.php,用於連接資料庫
class
DB_Conn
{
}
//文件
db.php,
用於資料庫操作,這個類必然需要使用資料庫連接對象,因此引用conn.php
require_once
conn.php;
class
DB
{
}
//文件user.php
require_once
'db.php';
class
User
{
public
function
getUserById($id)
{
$conn
=
new
Db_Conn();
$db
=
new
Db();
}
}以上只是示意,如果文件不在一個目錄下記得修改路徑。而且,一般來說資料庫對象應該包含連接資料庫和數據操作的全部功能,不需要分別寫在兩個類裡面。我覺得你對面向對象的理解還很淺薄,需要進一步累積經驗。
Ⅳ php資料庫操作類中的$sql語句是什麼語句
這個不用實例化
你只要實例化了資料庫類就行了
我讀了你這個類,$sql在裡面應該是SQL語句的意思,$sql只是類裡面的形式參數。
實際你只要傳遞一個值進去就行了。
比如:
<?php
$db=new mysql('localhost','root','','test','')
//實例化mysql類。第五參數我看不懂,可能這類有點小問題的
$db->query("select * from test");
//訪問query函數,參數select * from test
.....
?>
這個類不好。我給你一個把:
<?php
class mysql{
private $db_host; //資料庫主機
private $db_user; //資料庫用戶名
private $db_pwd; //資料庫用戶名密碼
private $db_database; //資料庫名
private $conn; //資料庫連接標識;
private $result; //執行query命令的結果資源標識
private $sql; //sql執行語句
private $row; //返回的條目數
private $coding; //資料庫編碼,GBK,UTF8,gb2312
private $bulletin = true; //是否開啟錯誤記錄
private $show_error = true; //測試階段,顯示所有錯誤,具有安全隱患,默認關閉
private $is_error = false; //發現錯誤是否立即終止,默認true,建議不啟用,因為當有問題時用戶什麼也看不到是很苦惱的
/*構造函數*/
function __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$coding){
$this->db_host=$db_host;
$this->db_user=$db_user;
$this->db_pwd = $db_pwd;
$this->db_database=$db_database;
$this->conn=$conn;
$this->coding=$coding;
$this->connect();
}
/*資料庫連接*/
function connect()
{
if($this->conn=="pconn"){
//永久鏈接
$this->conn=mysql_pconnect($this->db_host,$this->db_user,$this->db_pwd);
}else{
//即使鏈接
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
}
if(!mysql_select_db($this->db_database,$this->conn)){
if($this->show_error){
$this->show_error("資料庫不可用:",$this->db_database);
}
}
mysql_query("SET NAMES $this->coding");
}
/*資料庫執行語句,可執行查詢添加修改刪除等任何sql語句*/
function query($sql)
{
if($sql == ""){
$this->show_error("sql語句錯誤:","sql查詢語句為空");}
$this->sql = $sql;
$result = mysql_query($this->sql,$this->conn);
if(!$result){
//調試中使用,sql語句出錯時會自動列印出來
if($this->show_error){
$this->show_error("錯誤sql語句:",$this->sql);
}
}else{
$this->result = $result;
}
return $this->result;
}
/*創建添加新的資料庫*/
function create_database($database_name){
$database=$database_name;
$sqlDatabase = 'create database '.$database;
$this->query($sqlDatabase);
}
/*查詢伺服器所有資料庫*/
//將系統資料庫與用戶資料庫分開,更直觀的顯示?
function show_databases(){
$this->query("show databases");
echo "現有資料庫:".$amount =$this->db_num_rows($rs);
echo "<br />";
$i=1;
while($row = $this->fetch_array($rs)){
echo "$i $row[Database]";
echo "<br />";
$i++;
}
}
//以數組形式返回主機中所有資料庫名
function databases()
{
$rsPtr=mysql_list_dbs($this->conn);
$i=0;
$cnt=mysql_num_rows($rsPtr);
while($i<$cnt)
{
$rs[]=mysql_db_name($rsPtr,$i);
$i++;
}
return $rs;
}
/*查詢資料庫下所有的表*/
function show_tables($database_name){
$this->query("show tables");
echo "現有資料庫:".$amount = $this->db_num_rows($rs);
echo "<br />";
$i=1;
while($row = $this->fetch_array($rs)){
$columnName="Tables_in_".$database_name;
echo "$i $row[$columnName]";
echo "<br />";
$i++;
}
}
/*
mysql_fetch_row() array $row[0],$row[1],$row[2]
mysql_fetch_array() array $row[0] 或 $row[id]
mysql_fetch_assoc() array 用$row->content 欄位大小寫敏感
mysql_fetch_object() object 用$row[id],$row[content] 欄位大小寫敏感
*/
/*取得結果數據*/
function mysql_result_li()
{
return mysql_result($str);
}
/*取得記錄集,獲取數組-索引和關聯,使用$row['content'] */
function fetch_array()
{
return mysql_fetch_array($this->result);
}
//獲取關聯數組,使用$row['欄位名']
public function fetch_assoc()
{
return mysql_fetch_assoc($this->result);
}
//獲取數字索引數組,使用$row[0],$row[1],$row[2]
function fetch_row()
{
return mysql_fetch_row($this->result);
}
//獲取對象數組,使用$row->content
function fetch_Object()
{
return mysql_fetch_object($this->result);
}
//簡化查詢select
function findall($table)
{
$this->query("SELECT * FROM $table");
}
//簡化查詢select
function select($table,$columnName,$condition)
{
if($columnName==""){
$columnName="*";
}
$this->query("SELECT $columnName FROM $table $condition");
}
//簡化刪除del
function delete($table,$condition){
$this->query("DELETE FROM $table WHERE $condition");
}
//簡化插入insert
function insert($table,$columnName,$value){
$this->query("INSERT INTO $table ($columnName) VALUES ($value)");
}
//簡化修改update
function update($table,$mod_content,$condition){
$this->query("UPDATE $table SET $mod_content WHERE $condition");
}
/*取得上一步 INSERT 操作產生的 自動增長的ID*/
function insert_id(){
return mysql_insert_id();
}
//指向確定的一條數據記錄
function db_data_seek($id){
if($id>0){
$id=$id-1;
}
if(!@mysql_data_seek($this->result,$id)){
$this->show_error("sql語句有誤:", "指定的數據為空");
}
return $this->result;
}
// 根據select查詢結果計算結果集條數
function db_num_rows(){
if($this->result==null){
if($this->show_error){
$this->show_error("sql語句錯誤","暫時為空,沒有任何內容!");
}
return -1;
}else{
return mysql_num_rows($this->result);
}
}
// 根據insert,update,delete執行結果取得影響行數
function db_affected_rows(){
return mysql_affected_rows();
}
//輸出顯示sql語句
function show_error($message="",$sql=""){
if(!$sql){
echo "<font color='red'>".$message."</font>";
echo "<br />";
}else{
echo "<fieldset>";
echo "<legend>錯誤信息提示:</legend><br />";
echo "<div style='font-size:14px; clear:both; font-family:Verdana, Arial, Helvetica, sans-serif;'>";
echo "<div style='height:20px; background:#000000; border:1px #000000 solid'>";
echo "<font color='white'>錯誤號:12142</font>";
echo "</div><br />";
echo "錯誤原因:".mysql_error()."<br /><br />";
echo "<div style='height:20px; background:#FF0000; border:1px #FF0000 solid'>";
echo "<font color='white'>".$message."</font>";
echo "</div>";
echo "<font color='red'><pre>".$sql."</pre></font>";
$ip=$this->getip();
if($this->bulletin){
$time = date("Y-m-d H:i:s");
$message=$message."\r\n$this->sql"."\r\n客戶IP:$ip"."\r\n時間 :$time"."\r\n\r\n";
$server_date=date("Y-m-d");
$filename=$server_date.".txt";
$file_path="error/".$filename;
$error_content=$message;
//$error_content="錯誤的資料庫,不可以鏈接";
$file = "error"; //設置文件保存目錄
//建立文件夾
if(!file_exists($file)){
if(!mkdir($file,0777)){
//默認的 mode 是 0777,意味著最大可能的訪問權
die("upload files directory does not exist and creation failed");
}
}
//建立txt日期文件
if(!file_exists($file_path)){
//echo "建立日期文件";
fopen($file_path,"w+");
//首先要確定文件存在並且可寫
if (is_writable($file_path))
{
//使用添加模式打開$filename,文件指針將會在文件的開頭
if (!$handle = fopen($file_path, 'a'))
{
echo "不能打開文件 $filename";
exit;
}
//將$somecontent寫入到我們打開的文件中。
if (!fwrite($handle, $error_content))
{
echo "不能寫入到文件 $filename";
exit;
}
//echo "文件 $filename 寫入成功";
echo "——錯誤記錄被保存!";
//關閉文件
fclose($handle);
} else {
echo "文件 $filename 不可寫";
}
}else{
//首先要確定文件存在並且可寫
if (is_writable($file_path))
{
//使用添加模式打開$filename,文件指針將會在文件的開頭
if (!$handle = fopen($file_path, 'a'))
{
echo "不能打開文件 $filename";
exit;
}
//將$somecontent寫入到我們打開的文件中。
if (!fwrite($handle, $error_content))
{
echo "不能寫入到文件 $filename";
exit;
}
//echo "文件 $filename 寫入成功";
echo "——錯誤記錄被保存!";
//關閉文件
fclose($handle);
} else {
echo "文件 $filename 不可寫";
}
}
}
echo "<br />";
if($this->is_error){
exit;
}
}
echo "</div>";
echo "</fieldset>";
echo "<br />";
}
//釋放結果集
function free(){
@mysql_free_result($this->result);
}
//資料庫選擇
function select_db($db_database){
return mysql_select_db($db_database);
}
//查詢欄位數量
function num_fields($table_name){
//return mysql_num_fields($this->result);
$this->query("select * from $table_name");
echo "<br />";
echo "欄位數:".$total = mysql_num_fields($this->result);
echo "<pre>";
for ($i=0; $i<$total; $i++){
print_r(mysql_fetch_field($this->result,$i) );
}
echo "</pre>";
echo "<br />";
}
//取得 MySQL 伺服器信息
function mysql_server($num=''){
switch ($num){
case 1 :
return mysql_get_server_info(); //MySQL 伺服器信息
break;
case 2 :
return mysql_get_host_info(); //取得 MySQL 主機信息
break;
case 3 :
return mysql_get_client_info(); //取得 MySQL 客戶端信息
break;
case 4 :
return mysql_get_proto_info(); //取得 MySQL 協議信息
break;
default:
return mysql_get_client_info(); //默認取得mysql版本信息
}
}
//析構函數,自動關閉資料庫,垃圾回收機制
function __destruct()
{
if(!empty($this->result)){
$this->free();
}
//echo "對象被釋放";
mysql_close($this->conn);
}//function __destruct();
/*獲得客戶端真實的IP地址*/
function getip(){
if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
{
$ip = getenv("REMOTE_ADDR");
}
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")){
$ip = $_SERVER['REMOTE_ADDR'];
}
else{
$ip = "unknown";
}
return($ip);
}
}
?>
調用辦法:和上面差不多
<?php
$db=new mysql('localhost','root','','test',"conn",'gbk');
//實例化mysql類。主機名localhost,用戶名root,密碼空(''),資料庫test,連接方式普通連接(conn,pconn是永久鏈接),字元集gbk
$db->query("select * from test");
//訪問query函數。
echo $db->db_num_rows();
//訪問db_num_rows函數。顯示結果行數(因為類能有跟蹤功能)
?>
Ⅵ 如何封裝資料庫操作類
class Dbo{
String insert(表名,參數1...參數n){
執行 插入語句;
return 「操作成功」or 「操作失敗」
}
String delete(表名,參數1...參數n){
執行 刪除語句;
return 「操作成功」or 「操作失敗」
}
String update(表名,參數1...參數n){
執行 修改語句;
return 「操作成功」or 「操作失敗」
}
String select(表名,參數1...參數n){
執行查詢語句;
return 「查詢結果」or 「查詢失敗」
}
}
Ⅶ 誰可以提供vb寫的資料庫操作類,sqlserver的,包括查詢,增刪改等操作,越詳細越要,萬分感謝
下面是多資料庫的基本操作類,供你參考。
ImportsSystem
ImportsSystem.Data.SqlClient
ImportsSystem.Configuration
ImportsSystem.Collections.Generic
ImportsSystem.Text
ImportsSystem.Data
ImportsSystem.Configuration.ConfigurationSettings
ImportsSystem.Data.OleDb
PublicClassDB
PrivateSharedcomAsOleDb.OleDbCommand
PrivateSharedreaderAsOleDb.OleDbDataReader
PrivateSharedadapterAsOleDb.OleDbDataAdapter
PrivateSharedconnAsOleDb.OleDbConnection
'''<summary>
'''獲取資料庫連接
'''</summary>
'''<value></value>
'''<returns></returns>
'''<remarks></remarks>
()AsOleDbConnection
Get
DimconnectionStringAsString
'connectionString=System.Configuration.ConfigurationSettings.GetConfig("Supermarket")
'連接2010資料庫
'connectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=F:GCU.accdb"
'連接03-07資料庫
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=F:JLGCU.MDB"
'應該在這里先判斷conn是否為Nothing
IfconnIsNothingThen
conn=NewOleDb.OleDbConnection(connectionString)
EndIf
Ifconn.State<>ConnectionState.OpenThen
conn.Open()
EndIf
Returnconn
EndGet
EndProperty
'''<summary>
'''執行增刪改(無參)
'''</summary>
'''<paramname="sql">執行的Sql語句</param>
'''<returns></returns>
'''<remarks></remarks>
(ByValsqlAsString)AsInteger
com=NewOleDb.OleDbCommand(sql,NewConn())
Returncom.ExecuteNonQuery()
EndFunction
'''<summary>
'''執行增刪改(有參)
'''</summary>
'''<paramname="sql"></param>
'''<paramname="para"></param>
'''<returns></returns>
'''<remarks></remarks>
(ByValsqlAsString,ByValparaAsOleDbParameter())AsInteger
com=NewOleDb.OleDbCommand(sql,NewConn)
com.Parameters.AddRange(para)
Returncom.ExecuteNonQuery()
EndFunction
'''<summary>
'''執行增刪改的存儲過程
'''</summary>
'''<paramname="para"></param>
'''<paramname="ProcereName"></param>
'''<returns></returns>
'''<remarks></remarks>
(ByValparaAsSqlParameter(),ByValProcereNameAsString)AsInteger
DimcmdAsOleDb.OleDbCommand
cmd=NewOleDb.OleDbCommand()
cmd.Connection=NewConn()
cmd.CommandText=ProcereName
cmd.CommandType=CommandType.StoredProcere
cmd.Parameters.AddRange(para)
Returncom.ExecuteNonQuery
EndFunction
'''<summary>
'''執行查詢(返回一個結果集,無參)
'''</summary>
'''<paramname="sql"></param>
'''<returns></returns>
'''<remarks></remarks>
PublicSharedFunctionGetScalar(ByValsqlAsString)AsString
DimdatasetAsDataSet
dataset=NewDataSet()
com=NewOleDb.OleDbCommand(sql,NewConn)
adapter=NewOleDbDataAdapter(com)
adapter.Fill(dataset)
Ifdataset.Tables.Count>0Anddataset.Tables(0).Rows.Count>0Then
Returndataset.Tables(0).Rows(0)(0).ToString()
EndIf
Return"Null"
EndFunction
'''<summary>
'''執行查詢(返回一個結果集,有參)
'''</summary>
'''<paramname="sql"></param>
'''<paramname="para"></param>
'''<returns></returns>
'''<remarks></remarks>
PublicSharedFunctionGetScalar(ByValsqlAsString,ByValparaAsSqlParameter())AsInteger
com=NewOleDb.OleDbCommand(sql,NewConn)
com.Parameters.AddRange(para)
ReturnConvert.ToInt32(com.ExecuteScalar())
EndFunction
'''<summary>
'''執行查詢(返回一行數據,無參)
'''</summary>
'''<paramname="sql"></param>
'''<returns></returns>
'''<remarks></remarks>
PublicSharedFunctionGetReader(ByValsqlAsString)AsOleDbDataReader
com=NewOleDb.OleDbCommand(sql,NewConn)
reader=com.ExecuteReader()
Returnreader
EndFunction
'''<summary>
'''執行查詢(返回一行數據,有參)
'''</summary>
'''<paramname="sql"></param>
'''<paramname="para"></param>
'''<returns></returns>
'''<remarks></remarks>
PublicSharedFunctionGetReader(ByValsqlAsString,ByValparaAsSqlParameter())AsOleDbDataReader
com=NewOleDb.OleDbCommand(sql,NewConn)
com.Parameters.AddRange(para)
reader=com.ExecuteReader()
Returnreader
EndFunction
'''<summary>
'''執行查詢(返回一個數據集,無參)
'''</summary>
'''<paramname="sql"></param>
'''<returns></returns>
'''<remarks></remarks>
(ByValsqlAsString)AsDataTable
DimdatasetAsDataSet
dataset=NewDataSet()
com=NewOleDb.OleDbCommand(sql,NewConn)
adapter=NewOleDbDataAdapter(com)
adapter.Fill(dataset)
Returndataset.Tables(0)
EndFunction
'''<summary>
'''執行查詢(返回一個數據集,有參)
'''</summary>
'''<paramname="sql"></param>
'''<paramname="para"></param>
'''<returns></returns>
'''<remarks></remarks>
(ByValsqlAsString,ByValparaAsSqlParameter())AsDataTable
DimdatasetAsDataSet
dataset=NewDataSet()
com=NewOleDbCommand(sql,NewConn)
com.Parameters.AddRange(para)
adapter=NewOleDbDataAdapter(com)
adapter.Fill(dataset)
Returndataset.Tables(0)
EndFunction
EndClass