模板: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 我們對需求都有一定的了解,而且六期做過這個系統.可以從他們那裡得到很多需求....