資料庫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
