以下是在應用時真正要呼叫到的類:
(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 實現的資料庫抽象工廠 三 以下是在應用時真正要呼叫到的類 6 dbaccess.cs using system using system.data namespace dbservice 無條件查詢操作,即查詢表中所有記錄 表名 列名組 無條件查詢結果 public static datase...
用C 實現的資料庫抽象工廠 一
用c 實現的資料庫抽象工廠 一 最近學習了一下設計模式,便嘗試用c 對資料庫的訪問操作採用抽象工廠的模式實現一下,其中與標準的模式略有不同,加入了一些自己的想法,希望大家批評指正,共分為6個類 1 abstractdbfactory.cs using system using system.data...
用C 實現的資料庫抽象工廠 一
用c 實現的資料庫抽象工廠 一 最近學習了一下設計模式,便嘗試用c 對資料庫的訪問操作採用抽象工廠的模式實現一下,其中與標準的模式略有不同,加入了一些自己的想法,希望大家批評指正,共分為6個類 1 abstractdbfactory.cs using system using system.data...