Model層和dal層全部知識點

2021-10-07 11:51:54 字數 2036 閱讀 4386

模板:windows->類庫

引用:無

原則:一張表乙個類,一列乙個屬性(表名=>類名,列名=>屬性名)

常用快捷鍵:proppropfull///常見型別轉換(可以借助linq或其他工具查詢轉換後的資料型別)

sql資料型別

c#基礎資料型別

整數:int、bit

int小數:float、decimal、money

double[

decimal]

字元:char、varchar

string

datetime

可空資料型別

基礎型別?(除了string)2

模板:windows->類庫

引用:model、system.configuration

、system.data、system.data.sqlclient

原則:乙個實體乙個service類;

sqlhelper(

ui層配置檔案:連線字串)

常用快捷鍵:///

實現service:

分析題意,確定功能及對應的sql語句(string.format)

所有sql語句均需要先在資料庫進行測試,確保沒問題再進行使用!

非數值型資料一定不要忘記包裝在''內,數值型資料也可以進行包裝,關鍵字及函式一定不能進行包裝

查詢功能

呼叫query方法,返回list或datatable

查詢分類:

僅全部 select()   -> datatable 或 list

僅部分 select(條件)   //主鍵id  登入 ->物件

部分+全部 select(帶預設值的條件)  前提:->datatable 或 list

刪除功能

呼叫nonquery方法,返回int或bool

delete(主鍵/物件)

新增功能

呼叫nonquery方法,返回int或bool

insert(實體物件)

insert into task values('','',getdate(),1,null,'')

優先寫死:使用固定值及sql函式

修改功能

查詢物件(需要顯示原資料)->select(主鍵):呼叫query,返回物件或null

price = row["price"]==dbnull.value?null:(int?)row["price"]

更新屬性->update(實體物件),呼叫nonquery方法,返回int或bool

update task set taskstate=2,finishedtime=getdate()where taskid=

僅對需要修改的屬性賦值,不需要修改的直接忽略

優先寫死:使用固定值及sql函式

DAL層與BLL層的設計原則

通用dal層 專用dal層 基於通用dal層的基礎架構,為每個具體表提供乙個實體類和乙個dal類,此層比通用dal層的通用性稍差,這主要是為了給每個表提供一些專用的操作。此層以單錶為中心,為針對單錶的各種可能的訪問提供專用方法,可以作為單錶資料的入口。專用dal層不捕獲任何異常 專用dal層的實體類...

11 15三層架構DAL層SqlHelper

dal層引用model層,bll層引用dal層和model層,ui層引用bll層與model層,需要呼叫每層方法時,需要將需要呼叫的層引入命名空間。並且都需要呼叫model層。sql防注入 select from info where name 1001 or 1 1 and pwd 123456 ...

教務系統 DAL層實現

教務系統資料庫設計完畢之後,就開始正式編寫 了.按照軟體工程學的觀點.乙個軟體的編碼階段佔整個開發過程的很小一部分.大部分時間都是在做需求設計.但是我們做的這個教務系統感覺沒有嚴格按照這個來執行.主要原因我理解有這幾個 1 我們對需求都有一定的了解,而且六期做過這個系統.可以從他們那裡得到很多需求....