basedal:
using system;using system.collections.generic;
using system.linq;
using system.text;
using system.data;
using system.data.sqlclient;
using system.reflection;
public class basedal
}string sql = string.format("insert into () values()", type.name, sb1.tostring().trim(','), sb2.tostring().trim(','));
return dbhelper.cud(sql, ps);
}public static int insertid(modelbase obj)
}string sql = string.format("insert into () values();select @@identity;", type.name, sb1.tostring().trim(','), sb2.tostring().trim(','));
return convert.toint32(dbhelper.selectobject(sql, ps));
}public static int update(modelbase obj)}}
string wstr = key + "=@" + key; //獲取主鍵列,組裝成sql語句
ps.add(new sqlparameter("@" + key, keyvalue));
string sql = string.format("update set where ", type.name, sb1.tostring().trim(','), wstr);
return dbhelper.cud(sql, ps);
}public static int delete(object objid)
where =@", type.name, key);
listps = new list();
ps.add(new sqlparameter("@" + key, objid));
return dbhelper.cud(sql, ps);
}public static t selectobj(object objid)
where =@", type.name, key);
listps = new list();
ps.add(new sqlparameter("@" + key, objid));
t obj = activator.createinstance();
using (datatable dt = dbhelper.selecttable(sql, ps))}}
}}
return obj;
}public static listselectlist(string sql = null, listps = null)}}
list.add(obj);}}
return list;
}}
entitydal:
using system;using system.collections.generic;
using system.linq;
using system.text;
using system.data;
using system.data.sqlclient;
public class entitydal : basedal
modelbase:
using system;using system.collections.generic;
using system.linq;
using system.text;
public class modelbase
entity:
using system;using system.collections.generic;
using system.linq;
using system.text;
[mykey("id",true)]
public class entity : modelbase
public system.string classname
public entity()
}
mykeyattribute:
using system;using system.collections.generic;
using system.linq;
using system.text;
//自定義特性類
public class mykeyattribute : attribute
//主鍵列
public bool isidentity //是否自增長
public mykeyattribute(string key, bool isidentity)
}
dbhelper:
using system;using system.collections.generic;
using system.text;
using system.data;
using system.data.sqlclient;
using system.configuration;
public class dbhelper
}/// ///有參的增改刪
///
public static int cud(string sql, listps)
}/// ///無參、斷開式資料操作
///
public static dataset selectset(string sql)
}/// ///無參、斷開式資料操作
///
public static datatable selecttable(string sql)
}/// ///有參、斷開式資料操作
///
public static datatable selecttable(string sql,listps)
}/// ///無參、連線式資料操作
///
public static sqldatareader selectreader(string sql)
/// ///有參、連線式資料操作
///
public static sqldatareader selectreader(string sql,listps)
/// ///呼叫儲存過程,返回dataset
///
public static dataset selectproc(string sql, listps)
}/// /// 呼叫儲存過程,返回datatable陣列
///
public static datatable selectproctable(string sql, listps)
}/// /// 取單行單列的資料物件
///
public static object selectobject(string sql)
}/// /// 取單行單列的資料物件
///
public static object selectobject(string sql, listps)
}}
資料訪問層
using system.collections.generic using system.data using system.data.common namespace adonetdataaccess.core.contract 上面的介面包括增刪改查,批量插入以及 資料庫連線物件的連線和關閉等...
資料訪問層
1 資料持久化 持久化是將程式中資料在瞬時狀態和持久狀態間轉換的機制。jdbc是一種持久化機制,將程式直接儲存成文字檔案也是持久化機制的一種實現。2 資料訪問模式 dao模式 dao dataaccessobjects,資料儲存物件 是指位於業務邏輯和持久化資料之間實現實現對持久化資料的訪問。dao...
資料訪問層
資料訪問層 一.持久化 是將程式中的資料在瞬間狀態和持久狀態間轉換的機制 二.主要持久化操作 1.儲存 2.刪除 3.修改 4.讀取 5.查詢 等 三.dao dataaccessobjects,資料儲存物件 指位於業務邏輯和持久化資料之間實現對持久化資料的訪問。四.dao模式的優勢 1.隔離了資料...