av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

有點(diǎn)用處開(kāi)發(fā)經(jīng)驗(yàn)祭奠我的C#開(kāi)發(fā)歷程

C#篇:

創(chuàng)新互聯(lián)建站專注于瑪多企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開(kāi)發(fā)?,敹嗑W(wǎng)站建設(shè)公司,為瑪多等地區(qū)提供建站服務(wù)。全流程按需開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

1、目標(biāo)平臺(tái)的選擇:64位操作系統(tǒng)在編譯VS里的程序時(shí),根據(jù)需要設(shè)置項(xiàng)目屬性的“目標(biāo)平臺(tái)”為x86。如果設(shè)置為AnyCPU,則在VS 2005里面是不能“編輯并繼續(xù)”的。

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

——選擇x86在64位服務(wù)器上運(yùn)行,可能會(huì)造成類庫(kù)無(wú)法加載的問(wèn)題。此問(wèn)題在后文IIS經(jīng)驗(yàn)中解釋。

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

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

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

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

3、如果沒(méi)有使用Linq(一直都用的2.0框架……),可以使用此法來(lái)寫(xiě)執(zhí)行SQL。如:

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

如果是varchar類型,必須使用'';如果是int,目前發(fā)現(xiàn)既可使用''也可以不使用,往往寫(xiě)腳本,嫌麻煩,就都帶上了'',貌似執(zhí)行上不會(huì)有問(wèn)題,但不知道性能會(huì)不會(huì)有所下降。如果有知道的朋友請(qǐng)?jiān)谠u(píng)論區(qū)說(shuō)下咯。

——有朋友評(píng)論說(shuō)這個(gè)容易被注入式攻擊。查了下避免注入式攻擊的方法:1、使用存儲(chǔ)過(guò)程;2、參數(shù)化SQL語(yǔ)句。

——以下是使用參數(shù)化SQL語(yǔ)句的方式:

 
 
  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);//添加參數(shù) 
  5. SqlDataAdapter adapter = new SqlDataAdapter(command);

4、DLL引用了,但是在代碼里面還是無(wú)法調(diào)用。

嘗試在DLL的屬性里面設(shè)置使用特定版本為False。

5、類庫(kù)里的方法在調(diào)用的時(shí)候,如何讓方法上面顯示自定義說(shuō)明?

勾選一下項(xiàng)目:屬性——生成——XML文檔文件

——使用類庫(kù)的時(shí)候,把對(duì)應(yīng)的XML也拷貝的相同目錄,這樣會(huì)在VS中看到類庫(kù)函數(shù)的自定義說(shuō)明。前提是代碼里面使用“///”生成注釋。

6、博友分享:VS2010在新建.net 4.0項(xiàng)目時(shí),經(jīng)常會(huì)默認(rèn)一個(gè)Clent Profile的東東,經(jīng)常出現(xiàn)問(wèn)題。。。切換為標(biāo)準(zhǔn)框架即可。

VS2005不存在這個(gè)問(wèn)題,VS2013好像也不存在這個(gè)問(wèn)題。

7、未能加載程序集

這個(gè)問(wèn)題的范疇過(guò)于龐大,能夠造成這方面問(wèn)題的原因可能有很多,我記得比較分散,后面找到了陸續(xù)補(bǔ)充。

——版本不匹配。

——類庫(kù)生成x86還是x64還是AnyCPU,最好能夠做到目標(biāo)平臺(tái)保持一致。

——兩個(gè)項(xiàng)目引用路徑不同,或生成個(gè)路徑不同。

#p#

SQL篇

1、有關(guān)SQL中Join的問(wèn)題。

當(dāng)left join的那個(gè)表(子表),on的字段存在兩條,那么查詢出來(lái)的結(jié)果會(huì)分為兩條。

——所以對(duì)于子表內(nèi)容掌控不準(zhǔn)確,很可能會(huì)查詢出不符合需求的結(jié)果。

例子:

(1)兩個(gè)表的內(nèi)容是

(2)left join的結(jié)果

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

3、Union的時(shí)候,如果兩個(gè)字段類型不同,必須進(jìn)行轉(zhuǎn)換,否則會(huì)出錯(cuò)。

如上圖convert。注意使用union all可以顯著提高速度,這樣的話,不會(huì)對(duì)查詢結(jié)果進(jìn)行排序。

思想以及設(shè)計(jì)理念:

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

物理刪除時(shí)真正的刪除了,邏輯刪除還保留數(shù)據(jù)在數(shù)據(jù)庫(kù)中的位置,但是修改其刪除標(biāo)志為已刪除狀態(tài)(貌似這個(gè)在大學(xué)里面就學(xué)了……)

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

如:當(dāng)用戶進(jìn)行操作B的時(shí)候,需要先開(kāi)啟選項(xiàng)A。設(shè)當(dāng)前選項(xiàng)A為關(guān)閉狀態(tài),用戶進(jìn)行操作B,此時(shí)應(yīng)提示:“操作失敗,選項(xiàng)A未啟用,請(qǐng)到XXX設(shè)置中開(kāi)啟選項(xiàng)A”。在某些應(yīng)用中,甚至可以增加直接跳轉(zhuǎn)到設(shè)置的地方,或者直接修改設(shè)置。根據(jù)需要而定。

——提醒用戶改做什么,個(gè)人認(rèn)為是應(yīng)該的,體現(xiàn)友好度。但是不應(yīng)該把代碼中具體的異常暴露出來(lái),具體異常應(yīng)該記錄日志,并使用異常編碼,在文檔中、代碼中管理起來(lái)。


本文題目:有點(diǎn)用處開(kāi)發(fā)經(jīng)驗(yàn)祭奠我的C#開(kāi)發(fā)歷程
標(biāo)題鏈接:http://uogjgqi.cn/article/cceeigd.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流