




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ADO.NETSQLSERVER數(shù)據(jù)庫連接字符串:Data Source=localhost; AttchDBFilename=|DataDirectory|\Database1.mdf; Catalog=UserDate;IntegratedSecurity=True:DataSource表示數(shù)據(jù)源,其值為效勞器地址和實(shí)例名,假設(shè)是正式版則不用加,假設(shè)是免費(fèi)版,必需加上SQLEXPRESS.\AttchDBFilename表示附加數(shù)據(jù)庫,其值為附加數(shù)據(jù)庫的地址,DataDirectory代App_data名目,是數(shù)據(jù)庫的默認(rèn)存儲(chǔ)路徑;InitialCatalog為數(shù)據(jù)庫,其值為當(dāng)前連接所要連接的數(shù)據(jù)庫名稱命名空間using進(jìn)展資源治理try??catchusing是最簡潔的。代碼語句:using (SqlConnection con = new SqlConnection(“Data Catalog=UserDate;IntegratedSecurity=True“)){程序語句塊;}或者:=SqlConnection對象的一個(gè)實(shí)例cnn.ConnectionString=“DataSource=localhost;InitialCatalog=UserDate;IntegratedSecurity=True“;cnn.Open;注:using的作用是準(zhǔn)時(shí)的釋放資源,在花括號完畢的時(shí)候,程序會(huì)自動(dòng)釋放語句所申請的內(nèi)存,以到達(dá)程序的最優(yōu)。SqlCommandSQL語句SQLposition,Connection屬性,用來接收數(shù)據(jù)庫連接,還有Transaction屬性,用來接收事物。其還有三個(gè)比較常用的方法,第一個(gè)是ExecuteNonQuery方法,主要用來提交庫中被SQLExecuteReaderSELECT語句,返回值是一個(gè)數(shù)據(jù)流,里面是SELECT語句的查詢結(jié)果,可以用ExexuteScalar方法,主要也是用來提交SELECT語句,但是其返回值是查詢結(jié)COUNT等聚合查詢。SQL注入與參數(shù)化查詢SQLSQLParametersAdd執(zhí)行Insert操作”中提到的,還有另外一種代碼如下:cmdmandText=“INSERTINTOb1(name,company,position,shijian)VALUES(@Name,@Company,@Position,@Datetime)“;cmd.Parameters.Add(newSqlParameter(“Name“,Name.Text));cmd.Parameters.Add(newSqlParameter(“Company“,Company.Text));cmd.Parameters.Add(newSqlParameter(“Position“,Position.Text));cmd.Parameters.Add(newSqlParameter(“Datetime“,DateTime.Parse(Datetime.Text)));cmd.ExecuteNonQuery;DateTimeParse方法對int型,在賦值時(shí)也應(yīng)進(jìn)展相應(yīng)的轉(zhuǎn)換。Insert操作SqlCommand對象;對象,CommandText屬性;語句。代碼語句:using(SqlCommandcmd=con.CreateComand){=“INSERTINTOb1(name,company,position)VALUES(“whh”,“UVGE”,“coder”)”;cmm.ExecuteNonQuery;}或者:using(SqlCommandcmd=con.CreateComand){//設(shè)置SQL語句cmmmandText=“INSERTINTOb1(name,company,position,shijian)VALUES(@Name,@Company,@Position,@Datetime)“;創(chuàng)立參數(shù),并定義其數(shù)據(jù)類型,要和數(shù)據(jù)庫中對應(yīng)的字段保持一樣cmm.Parameters.Add(“@Name“,SqlDbType.NVarChar);cmm.Parameters.Add(“@Company“,SqlDbType.NVarChar);cmm.Parameters.Add(“@Position“,SqlDbType.NVarChar);cmm.Parameters.Add(“@Datetime“SqlDbType.DateTime);//設(shè)置參數(shù)的值,這些值來自前段的輸入信息cmm.Parameters[“@Name“].Value=Name.Text;cmm.Parameters[“@Company“].Value=Company.Text;cmm.Parameters[“@Position“].Value=Position.Text;cmm.Parameters[“@Datetime“].ValueDatetime.Text;//執(zhí)行SQL語句cmm.ExecuteNonQuery;}注:SQL語句影響的行數(shù)select語句對象對象,CommandText屬性;CommandTextSQL語句。方法所返回的數(shù)據(jù)流;需要字段的數(shù)據(jù)進(jìn)展處理代碼語句:using(SqlCommandcmd=con.CreateComand){CmdmandTextSELECT語句”;using(SqlDataReaderreadercmd.ExecuteReader){While(reader.Read){//數(shù)據(jù)處理語句塊;}}}或者:using(SqlCommandcmd=con.CreateComand){using(SqlDataReaderreader=cmd.ExecuteReader){While(reader.Read){Stringname=reader.[“name”].ToString;//數(shù)據(jù)處理語句塊;}}}注:User表,[User]這樣的語句來查詢該表的內(nèi)容類的數(shù)據(jù)3id〔主鍵〕號,可以通過output語法和ExecuteScalarSQLSERVER2005以后的版本中都有的,具體語法如下:cmdmandText = “INSERT INTO T_Users(UserName,PassWord) inserted.IdValues(“admin”,“123456”)”;intid=Convert.ToInt32(cmd.ExecuteScalar);usingcloseusingIDisposable接口的類進(jìn)展了資源治理,只要在其作用域內(nèi)usingclose和disposeClose只是關(guān)閉了當(dāng)前的連接或者資源,openclose并未釋放資源,只做了using作用一樣,但考慮到特別處理等closedispose。通過數(shù)據(jù)集操作數(shù)據(jù)集提交數(shù)據(jù)庫,通過這一系列操作實(shí)現(xiàn)對數(shù)據(jù)庫的修改,此過程主要通過DataSet、DataAdapter、DataTable、DataRow、DataColumn、SqlCommandBuilder等類實(shí)現(xiàn)。依據(jù)上面所說到過程,逐步分析:1、數(shù)據(jù)查詢,這里的數(shù)據(jù)查詢不再是通過 Command 對象實(shí)現(xiàn),而是通過DataAdapter類的實(shí)例來實(shí)現(xiàn),具體代碼如下:SqlDataAdaptersqldadp=newSqlDataAdapter(“SELECTname,company,position,shijianFROM[UserDate].[dbo].[b1]WHEREshijian>”2010-01-21”“,con)對象的實(shí)例,即數(shù)據(jù)庫鏈接DataSet對象的實(shí)例了,代碼如下:DataSet對象DataSet對象的實(shí)例3、對數(shù)據(jù)集中的數(shù)據(jù)進(jìn)展展現(xiàn)和操作,這步也是這項(xiàng)技術(shù)中最重要、最麻煩的DataTable對象的實(shí)例對數(shù)據(jù)進(jìn)展展現(xiàn)和修改,而DataTable能夠得到數(shù)據(jù)集中的字段的據(jù)集,Rows可以通過下標(biāo)及字段名〔類似于二維數(shù)組〕的方式獲得指定行列的方法能夠創(chuàng)立一個(gè)空白行,可以在添加數(shù)據(jù)的Clear方法對象中的全部數(shù)據(jù)。具體代碼如下:dtnewDataTable;//創(chuàng)立數(shù)據(jù)表對象dtorder_daset.Tables[0];//填充數(shù)據(jù)表Response.Write(“<table border=”1”><tr><th></th><th></th><th>職位</th><th>入職時(shí)間</th></tr>“);for(inti0idt.Rows.Counti++){//依據(jù)字段,逐行取出數(shù)據(jù)表中的內(nèi)容并顯示在頁面上Response.Write(“<tr>“);Response.Write(“<td>“+dt.Rows[i][“name“].ToString+“</td>“);Response.Write(“<td>“+dt.Rows[i][“company“].ToString+“</td>“);Response.Write(“<td>“+dt.Rows[i][“position“].ToString+“</td>“);“yyyy-MM-dd</td>“);Response.Write(“</tr>“);}Response.Write(“</table>“);0的數(shù)據(jù)表填充的,這點(diǎn)是格外重要的。下面來看看對數(shù)據(jù)集的修改并且提交數(shù)據(jù)庫,對數(shù)據(jù)集的修改,可以通過的作用是依據(jù)DataAdapter對象自動(dòng)生成INSERT、UPDATE、DELETE語句,從而使DataAdapter對象更數(shù)據(jù)庫內(nèi)容。具體代碼如下:對象實(shí)例SqlDataAdaptersqldadp=newSqlDataAdapter(“SELECTname,company,position,shijianFROM[UserDate].[dbo].[b1]“,con);SqlCommandBuilderscbnewSqlCommandBuilder(sqldadp);//語句DataSetDataRowMyrowds.Tables[0].NewRow;//在數(shù)據(jù)表中創(chuàng)立的空白記錄對象//從前臺(tái)頁面承受要插入的數(shù)據(jù)Myrow[“name“]=Name.Text;Myrow[“companyCompany.Text;Myrow[“position“]=Position.Text;Myrow[“shijianDatetime.Text;DataTable中ds.Tables[0].Rows.Add(Myrow);//更數(shù)據(jù)庫中的內(nèi)容sqldadp.Update(ds);Update方法,這DataTable中的一行,而不是整=的根底上創(chuàng)立一個(gè)的空行,而下面的代碼則是為這個(gè)空DataTable的某一DataTableRows屬性的Remove方法刪除,具體如下代碼:DataTabledt=ds.Tables[0];dt.Rows.Remove(Myrow);網(wǎng)絡(luò)數(shù)據(jù)的事務(wù)處理事務(wù)處理是為了防止在網(wǎng)絡(luò)上多用戶對數(shù)據(jù)庫的并發(fā)操作破壞數(shù)據(jù)的全都性和n方法主要ADO.NET的事務(wù)處理對象來實(shí)現(xiàn)事務(wù)對象,代碼如下:using(SqlConnectioncon=newSqlConnection(“DataSource=localhost;InitialCatalog=UserDate;IntegratedSecurity=True“)){SqlCommandcmd=newSqlCommand;try{con.Open;//創(chuàng)立數(shù)據(jù)庫鏈接transqlcon.BeginTransaction;//開頭事務(wù)處理Command對象的鏈接SQL語句cmdmandText=“INSERTINTOb1(name,company,position,shijian)VALUES(@Name,@Company,@Position,@Datetime)“;//為參數(shù)賦值〔留意參數(shù)在數(shù)據(jù)庫中的數(shù)據(jù)類型〕cmd.Parameters.Add(newSqlParameter(“Name“,Name.Text));cmd.Parameters.Add(newSqlParameter(“Company“,Company.Text));cmd.Parameters.Add(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零售商業(yè)銷售額對比分析表
- 廣東省深圳市寶安區(qū)2024-2025學(xué)年高二上學(xué)期1月期末調(diào)研測試生物學(xué)試題(含答案)
- 公司季度發(fā)展調(diào)研報(bào)告分析
- 采購成本預(yù)算表格
- 電子競技產(chǎn)業(yè)投資合作協(xié)議
- 智能安防系統(tǒng)合作協(xié)議
- 高科技產(chǎn)業(yè)園建設(shè)投資合同
- 大型企業(yè)采購管理優(yōu)化合作協(xié)議
- 生物學(xué)中的細(xì)胞生物學(xué)練習(xí)題集
- 新員工快速上手工作指南
- 柴進(jìn)的五個(gè)故事
- 瓜州橋?yàn)车谝伙L(fēng)電場200mw工程可行性研究報(bào)告
- 耳鼻咽喉頭頸外科學(xué):耳科學(xué)
- 2023年空置房管理辦法4篇
- 中考英語現(xiàn)在完成時(shí)專項(xiàng)練習(xí)題及答案學(xué)習(xí)啊
- 電子設(shè)備裝接工常用工具及材料
- 語言學(xué)綱要(全套課件354P)
- 2023年嘉興市青少年信息學(xué)(計(jì)算機(jī))競賽(小學(xué)組)試卷
- 2022年江西司法警官職業(yè)學(xué)院單招綜合素質(zhì)試題及答案解析
- M6000-BRAS業(yè)務(wù)配置及日常維護(hù)
- 斜拉橋主橋監(jiān)理細(xì)則
評論
0/150
提交評論