用C 實現的資料庫抽象工廠 三

2021-04-07 06:58:47 字數 3529 閱讀 8293

用c#實現的資料庫抽象工廠(三)

以下是在應用時真正要呼叫到的類:

(6)dbaccess.cs

using system;

using system.data;

namespace dbservice

///

/// 無條件查詢操作,即查詢表中所有記錄

///

/// 表名

/// 列名組

/// 無條件查詢結果

public static dataset selectall(string strtablename, string strcolumn)

strsql += (strcolumn[strcolumn.length - 1] + " from " + strtablename);

concretedbcommand.commandtext = strsql;

concretedbadapter.selectcommand = concretedbcommand;

concretedbadapter.fill(ds);

concretedbtrans.commit();

}catch

finally

return ds;

}///

/// 條件查詢操作

///

/// 表名

/// 列名組

/// 條件

/// 條件查詢結果

public static dataset select(string strtablename, string strcolumn, string strcondition)

strsql += (strcolumn[strcolumn.length - 1] + " from " + strtablename + " where " + strcondition);

concretedbcommand.commandtext = strsql;

concretedbadapter.selectcommand = concretedbcommand;

concretedbadapter.fill(ds);

concretedbtrans.commit();

}catch

finally

return ds;

}///

/// 單條記錄的插入操作

///

/// 表名

/// 列名組

/// 值組

public static void insert(string strtablename, string strcolumn, object strvalue)

strsql += (strcolumn[strcolumn.length - 1] + ") values ('");

for(int i = 0; i < strvalue.length - 1; i++)

strsql += (strvalue[strvalue.length - 1] + "')");

concretedbcommand.commandtext = strsql;

concretedbcommand.executenonquery();

concretedbtrans.commit();

}catch

finally }

///

/// 批量記錄的插入操作,即可一次向多張表中插入不同的批量記錄

///

/// 批量記錄組成的dataset,dataset中的各個datatable名為表名,各datatable中的datacolumn名為列名

public static void insertset(ref dataset ds)

strsql += (dt.columns[dt.columns.count - 1].caption + ") values ('");

for(int i = 0; i < dt.columns.count - 1; i++)

strsql += (dr[dt.columns.count - 1] + "')");

concretedbcommand.commandtext = strsql;

concretedbcommand.executenonquery();}}

concretedbtrans.commit();

}catch

finally }

///

/// 無條件刪除操作,即刪除表中所有記錄

///

/// 表名

public static void deleteall(string strtablename)

catch

finally }

///

/// 條件刪除操作

///

/// 表名

/// 條件

public static void delete(string strtablename, string strcondition)

catch

finally }

///

/// 無條件更新操作,即更新表中所有記錄

///

/// 表名

/// 列名組

/// 值組

public static void updateall(string strtablename, string strcolumn, object strvalue)

strsql += (strcolumn[strcolumn.length - 1] + " = '" + strvalue[strvalue.length - 1] + "' ");

concretedbcommand.commandtext = strsql;

concretedbcommand.executenonquery();

concretedbtrans.commit();

}catch

finally

}///

/// 條件更新操作

///

/// 表名

/// 列名組

/// 值組

/// 條件

public static void update(string strtablename, string strcolumn, object strvalue, string strcondition)

strsql += (strcolumn[strcolumn.length - 1] + " = '" + strvalue[strvalue.length - 1] + "' " + " where " + strcondition);

concretedbcommand.commandtext = strsql;

concretedbcommand.executenonquery();

concretedbtrans.commit();

}catch

finally}}

}最後一步,在web.config中的根結點configuration下增加一些關於資料庫連線字串的變數:

全文完

用C 實現的資料庫抽象工廠 一

用c 實現的資料庫抽象工廠 一 最近學習了一下設計模式,便嘗試用c 對資料庫的訪問操作採用抽象工廠的模式實現一下,其中與標準的模式略有不同,加入了一些自己的想法,希望大家批評指正,共分為6個類 1 abstractdbfactory.cs using system using system.data...

用C 實現的資料庫抽象工廠 一

用c 實現的資料庫抽象工廠 一 最近學習了一下設計模式,便嘗試用c 對資料庫的訪問操作採用抽象工廠的模式實現一下,其中與標準的模式略有不同,加入了一些自己的想法,希望大家批評指正,共分為6個類 1 abstractdbfactory.cs using system using system.data...

用C 實現的資料庫抽象工廠 三

以下是在應用時真正要呼叫到的類 6 dbaccess.cs using system using system.data namespace dbservice 無條件查詢操作,即查詢表中所有記錄 表名 列名組 無條件查詢結果 public static dataset selectall stri...

C 實現資料庫的遞迴查詢

表結構如下 標識號 名稱 上級標識號 mid mname mparentid 1 選單一 0 2 選單二 1 3 選單三 1 4 選單四 2 5 選單五 3 要用遞迴程式實現某一標識號 包括本身 下的所有選單,要實現這個程式,我們這裡取出所有符合的選單標識號,用 連線成字串,實現的方法如下 取得選單...

資料庫讀寫鎖的實現(C )

在資料庫中,對某資料的兩個基本操作為寫和讀,分佈有兩種鎖控制 排它鎖 x鎖 共享鎖 s鎖 排它鎖 x鎖 若事務t對資料d加x鎖,則其它任何事務都不能再對d加任何型別的鎖,直至t釋放d上的x鎖 一般要求在修改資料前要向該資料加排它鎖,所以排它鎖又稱為寫鎖。共享鎖 s鎖 若事務t對資料d加s鎖,則其它事...