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

2021-04-12 19:56:22 字數 3576 閱讀 8724

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

(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...