成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

有點用處開發經驗 祭奠我的C#開發歷程

開發 后端
博主下個月就要去進行Java開發了,以后C#碰的就少了,平時一些經驗都記在OneNote里面,現在收集整理出來,因為只能利用交接工作的打醬油的時間,陸續更新中……

C#篇:

1、目標平臺的選擇64位操作系統在編譯VS里的程序時,根據需要設置項目屬性的“目標平臺”為x86。如果設置為AnyCPU,則在VS 2005里面是不能“編輯并繼續”的。

一些有點用處的開發經驗 祭奠我的C#開發歷程

——在選擇x86和AnyCPU都可以在32位操作系統上使用。

——選擇x86在64位服務器上運行,可能會造成類庫無法加載的問題。此問題在后文IIS經驗中解釋。

2、取DataTable或者DataGridView里面值的兩種常用方法:

 

 

  1. dt.Rows[i].Cells["ID"].Value.ToString(); 
  2. dt.Rows[0]["Name"].ToString(); 

 

前者需要從Value中取值,使用起來不是太方便。后者且不能加Value

——所有的中括號中都可以使用序號(從0開始)或是字段名(列名、行名)

3、如果沒有使用Linq(一直都用的2.0框架……),可以使用此法來寫執行SQL。如:

 

 

  1. string strSQL = string.Format("Insert table_1 values('{0}', '{1}',{2},{3})" 

 

如果是varchar類型,必須使用'';如果是int,目前發現既可使用''也可以不使用,往往寫腳本,嫌麻煩,就都帶上了'',貌似執行上不會有問題,但不知道性能會不會有所下降。如果有知道的朋友請在評論區說下咯。

——有朋友評論說這個容易被注入式攻擊。查了下避免注入式攻擊的方法:1、使用存儲過程;2、參數化SQL語句。

——以下是使用參數化SQL語句的方式:

  1. SqlCommand command = new SqlCommand("select * from UserInfo where sex=@sex and age>@age", connection);  
  2. SqlParameter parameter = new SqlParameter("@age", SqlDbType.Int);//注意UserInfo表里age字段是int類型的  
  3. parameter.Value = 30;  
  4. command.Parameters.Add(parameter);//添加參數  
  5. SqlDataAdapter adapter = new SqlDataAdapter(command); 

 

4、DLL引用了,但是在代碼里面還是無法調用。

嘗試在DLL的屬性里面設置使用特定版本為False

5、類庫里的方法在調用的時候,如何讓方法上面顯示自定義說明?

勾選一下項目:屬性——生成——XML文檔文件

——使用類庫的時候,把對應的XML也拷貝的相同目錄,這樣會在VS中看到類庫函數的自定義說明。前提是代碼里面使用“///”生成注釋。

6、博友分享:VS2010在新建.net 4.0項目時,經常會默認一個Clent Profile的東東,經常出現問題。。。切換為標準框架即可。

VS2005不存在這個問題,VS2013好像也不存在這個問題。

7、未能加載程序集

這個問題的范疇過于龐大,能夠造成這方面問題的原因可能有很多,我記得比較分散,后面找到了陸續補充。

——版本不匹配。

——類庫生成x86還是x64還是AnyCPU,最好能夠做到目標平臺保持一致。

——兩個項目引用路徑不同,或生成個路徑不同。

#p#

SQL篇

1、有關SQL中Join的問題。

left join的那個表(子表),on的字段存在兩條,那么查詢出來的結果會分為兩條。

——所以對于子表內容掌控不準確,很可能會查詢出不符合需求的結果。

例子:

(1)兩個表的內容是

 

一些有點用處的開發經驗 祭奠我的C#開發歷程

(2)left join的結果

一些有點用處的開發經驗 祭奠我的C#開發歷程

2、同一張表可以Left Join兩次

一些有點用處的開發經驗 祭奠我的C#開發歷程

3、Union的時候,如果兩個字段類型不同,必須進行轉換,否則會出錯。

 

一些有點用處的開發經驗 祭奠我的C#開發歷程

如上圖convert。注意使用union all可以顯著提高速度,這樣的話,不會對查詢結果進行排序。

思想以及設計理念:

1、邏輯刪除與物理刪除的概念?

物理刪除時真正的刪除了,邏輯刪除還保留數據在數據庫中的位置,但是修改其刪除標志為已刪除狀態(貌似這個在大學里面就學了……)

2、在UI層(用戶操作界面),如果出錯了,或者操作失敗了,應該提醒用戶下一步應該做什么。

如:當用戶進行操作B的時候,需要先開啟選項A。設當前選項A為關閉狀態,用戶進行操作B,此時應提示:“操作失敗,選項A未啟用,請到XXX設置中開啟選項A”。在某些應用中,甚至可以增加直接跳轉到設置的地方,或者直接修改設置。根據需要而定。

——提醒用戶改做什么,個人認為是應該的,體現友好度。但是不應該把代碼中具體的異常暴露出來,具體異常應該記錄日志,并使用異常編碼,在文檔中、代碼中管理起來。

責任編輯:王雪燕 來源: 博客園
相關推薦

2011-06-03 10:15:13

2009-06-24 10:25:25

C#泛型

2009-08-20 10:24:52

C#開發WinForm

2009-08-27 16:54:59

C#開發技巧

2009-08-20 09:30:03

C#開發WinForm

2015-04-02 09:28:27

C#開發人員面試經驗

2017-01-05 16:29:00

2009-09-16 13:05:32

C#組件開發

2009-08-10 13:05:06

C# DLLC# Delphi開發

2010-11-01 06:38:03

Windows Ser

2019-01-14 08:52:25

開發經驗瀏覽器

2009-08-24 10:10:09

C#復合控件

2009-08-24 09:55:24

C#集成開發環境

2010-06-03 10:26:29

開發MySQL中文亂碼

2009-08-24 16:11:35

C#項目開發

2011-06-08 10:06:32

C#

2018-12-24 11:05:41

2012-03-31 11:25:48

C#

2023-03-28 23:27:36

C#編程

2015-04-07 15:11:58

移動·開發技術周刊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产中文字幕 | 国产精品视频一二三 | 女同av亚洲女人天堂 | 日韩在线国产 | 亚洲综合首页 | 亚洲精品一区中文字幕乱码 | 国产一区二区三区在线观看免费 | 亚洲一区亚洲二区 | 亚洲精品久久久蜜桃 | 欧美在线一区二区三区 | 99爱国产 | 夜久久| 国产免费人成xvideos视频 | 欧美国产日韩精品 | 日本成人免费网站 | 中日韩av| 久久中文一区二区 | 久久毛片| 精品国产伦一区二区三区观看方式 | 亚洲精品4 | 成人免费视频播放 | 国产成人久久精品一区二区三区 | 久久人人爽人人爽 | 久久久久久亚洲精品 | 日韩欧美在线免费 | 午夜天堂精品久久久久 | 中文字幕日本一区二区 | 精品福利一区二区三区 | 精品日韩在线 | 九九热精品在线视频 | 99re在线视频精品 | 精品久久久久久亚洲精品 | 久久一视频 | 久久日韩粉嫩一区二区三区 | 一级片免费视频 | 三级特黄特色视频 | 亚洲国产成人久久综合一区,久久久国产99 | 国产精品久久国产精品99 | 亚洲日韩中文字幕一区 | 亚洲一区 中文字幕 | 色啪网|