C DAL資料訪問層

2022-03-11 12:35:47 字數 3887 閱讀 7236

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.隔離了資料...