




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目五掌握ASP.NET數據庫操作任務一制作EShopTest網上購物商城用戶注冊頁面
任務二使用Command執行數據庫命令
任務三使用DataReader讀取數據
任務四使用DataAdapter讀寫數據
任務五使用DataSet
任務六使用DataList控件
任務七使用GridView控件項目五掌握ASP.NET數據庫操作任務一制作EShopT任務一制作EShopTest網上購物商城用戶注冊頁面【任務要點】操作數據庫的第一步必須是先建立與數據庫的連接。Connection對象專門肩負著這樣的重任。該對象提供了很多屬性和方法以便用戶順利進行連接操作。接下來開始通過實例學習Connection對象及使用。【案例1】測試與SQLServer數據庫建立連接下一頁返回任務一制作EShopTest網上購物商城用戶注冊頁面【任務任務一制作EShopTest網上購物商城用戶注冊頁面【具體步驟】(1)打開VisualStudio2005新建網站EShopTest,位置選擇文件系統,指定站點文件夾。(2)添加Web窗體并命名為ConnectionTest。(3)從工具箱中拖一個Label控件到窗體中,并命名該控為lblMessage。(4)轉到窗體的代碼視圖,在代碼中添加引用usingSystem.Data.SqlClient。(5)雙擊新建窗體的空白處,在窗體的Page_Load()事件中添加如下代碼:下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【具體步任務一制作EShopTest網上購物商城用戶注冊頁面protectedvoidPage_Load(objectsender,EventArgse){SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=zhubaiming\\sql2000;uid=sa;pwd=sa;database=EShop";conn.Open();lblMessage.Text=conn.State.ToString();conn.Close();}下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面prot任務一制作EShopTest網上購物商城用戶注冊頁面【案例2】實現用戶注冊頁面的功能在項目四的能力大比拼中,已經完成了一個名為Register.aspx頁面的制作,在設計模式下界面如圖5-2所示。本窗體用于接收用戶輸入的數據。但是,這樣的窗體在用戶將數據保存起來之前,是沒有多少用處的,接下來就是現在將要完成的任務,當單擊【注冊】按鈕的時候執行代碼將數據保存到數據庫中。本項目使用的數據庫EShop應用程序中的SQLServer數據庫。EShopTest程序中所使用到的表的結構見表5-1~表5-4。實例運行結果如圖5-3所示。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【案例2任務一制作EShopTest網上購物商城用戶注冊頁面【具體步驟】(1)在EShopTest應用程序中打開Register.aspx頁。(2)在后臺編碼文件的頂部添加下列導入語句,因為此處將用到這些命名空間中的類:usingSystem.Data.SqlClient;(3)為注冊按鈕添加事件處理程序,以前該控件只是為了測試用于驗證的不同文本框的內容。現在,該按鈕將負責構建和執行SQLINSERT語句(該語句將一條新用戶記錄添加到數據庫中)。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【具體步任務一制作EShopTest網上購物商城用戶注冊頁面【背景知識】一、相關命名空間的引用1.System.Data命名空間在程序中,要使用ADO.NET對象模型中的類時,必須首先引用System.Data這個命名空間。因為System.Data這個命名空間中包括大部分組成ADO.NET架構的基礎對象類別,例如,DataSet對象、DataTable對象、DataColumn對象、DataRelation對象。2.System.Data.OleDb命名空間當要使用OLEDB數據提供都來存取數據時,必須引用System.Data.OleDb這個命名空間。System.Data.OleDb這個命名空間定義了OLEDB數據操作組件的對象類別,例如,OleDbConnection類、OleDbCommand類、OleDbDataAdapter類及OleDbDataReader類。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【背景知任務一制作EShopTest網上購物商城用戶注冊頁面3.System.Data.SqlClient命名空間當要使用SQLServer數據提供者存取數據時,必須引用System.Data.SqlClient這個命名空間。System.Data.SqlClient這個命名空間定義了SQL數據操作組件的對象類別,例如,SqlConnection類、SqlCommand類、SqlDataAdapter類及SqlDataReader類。
表5-5簡要列舉了.NET框架中與ADO.NET相關的幾個命名空間。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面3.Sy任務一制作EShopTest網上購物商城用戶注冊頁面二、Connection對象及使用Connection對象主要用于建立與指定數據源的連接,處理訪問數據源時所需要的安全設置。如果沒有利用Connection對象將數據庫打開,是無法從數據庫中獲取數據的。在這里介紹Connection對象常用的屬性和方法。1.Connection對象的常用方法(1)Open():利用ConnectionString所指定的屬性設置打開一個數據庫連接。(2)Close():關閉與數據庫的連接。(3)CreateCommand():創建并返回一個與Connection相關的Command對象。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面二、Co任務一制作EShopTest網上購物商城用戶注冊頁面2.Connection對象的常用屬性(1)ConnectionString:獲取或者設置用于打開數據庫的連接字符串。(2)ConnectionTimeout:在試圖建立連接的過程中,獲取在終止操作并產生錯誤之前等待的時間,也就是超時時間。(3)DataBase:取得在數據庫服務器上要打開的數據庫名。(4)DataSource:取得要連接的SQLServer實例的名稱。(5)State:取得目前連接的狀態。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面2.Co任務一制作EShopTest網上購物商城用戶注冊頁面3.Connection對象的構造函數與Connection對象的創建Connection對象的創建是由其對應的構造函數構造完成的,但是,不同的數據提供者用不同的類及構造函數完成Connection對象的創建,在SQLServer數據提供者中用類SqlConnection的構造函數創建Connection對象,而在OLEDB數據提供者中用類OleDbConnection的構造函數創建Connection對象。
表5-6分別列出了SQLServer數據提供者中類SqlConnection的兩個構造函數的原型及其功能。
表5-7分別型列出了OLEDB數據提供者中類OleDbConnection的兩個構造函數的原型及其功能。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面3.Co任務一制作EShopTest網上購物商城用戶注冊頁面4.連接字符串(1)連接到SQLServer數據庫的連接字符串要連接一個數據庫,需要指明要連接的數據庫的種類、數據庫服務器名稱、數據庫名稱、登錄用戶名稱以及密碼等信息,這些信息就是連接字符串。連接字符串可以在Connection對象的ConnectionString屬性里指定。(2)連接到Access2000數據庫的連接字符串連接Access數據庫機制與連接SQLServer的機制沒太大的區別,只是要使用OLEDB數據提供者中的OleDbConnection類來定義Connection對象,且需要對連接字符串中的不同參數指定不同的值即可。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面4.連接任務一制作EShopTest網上購物商城用戶注冊頁面5.Connection對象的打開和關閉創建一個Connection對象并指定一個連接字符串并沒有打開一個指向數據庫的物理連接,需要調用對象的Open方法來打開連接。Close方法用來關閉Connection對象。不關閉打開的連接會影響系統性能和對應用程序的操作,所以最好關閉連接。SqlConnection和OleDbConnection類提供Open和Close方法。返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面5.Co任務二使用Command執行數據庫命令【任務要點】Command對象及使用【案例1】制作顯示商品分類列表的頁面實例運行結果如圖5-4所示。【具體步驟】(1)在EShopTest應用程序中添加Web窗體并命名為Command_DataReader.aspx。(2)轉到窗體的代碼視圖,添加引用usingSystem.Data.SqlClient。(3)在窗體的設計視圖下雙擊頁面空白處進入Page_Load()事件,在該事件中添加代碼。下一頁返回任務二使用Command執行數據庫命令【任務要點】下一頁返回任務二使用Command執行數據庫命令【案例2】制作簡單用戶登錄頁面在項目四中,構建了一個名為Login.aspx的Web窗體,如圖5-5所示。當提交登錄頁面的時候,會收到用戶名和密碼,此時需要檢查這些值是否能夠匹配數據庫中的現有用戶。而且需要從數據庫中得到符合傳入信息的用戶ID,以便使用這個ID值來為當前用戶檢索不同的信息事項。一旦得到了有效的用戶ID,需要告知ASP.NET用戶已通過驗證,可以讓他們看到最初請求的頁面。在該示例中,將把剛才討論的內容運用到代碼中,在登錄按鈕的處理程序中,將使用ExecuteScalar()方法來檢索給定登錄名和密碼的用戶ID值。運行后的效果如圖5-6所示。下一頁返回上一頁任務二使用Command執行數據庫命令【案例2】制作簡單用戶任務二使用Command執行數據庫命令【具體步驟】(1)打開Login.aspx頁面,雙擊【登錄】按鈕轉向后臺編碼頁面。(2)在頁面的頂部位置添加命名空間usingSystem.Data.SqlClient;的引用。(3)在后臺編碼頁中,按照課本中的代碼來進行更改。下一頁返回上一頁任務二使用Command執行數據庫命令【具體步驟】下一頁返回任務二使用Command執行數據庫命令【背景知識】Command對象及使用Command對象提供對數據源執行SQL命令的接口,可以用來對數據庫發出一些指令。利用Command對象可調用SQL命令來返回數據、修改數據、運行存儲過程,以及發送或者檢索參數信息。這個對象架構在Connection對象上,即Command對象是通過連接到數據源的Connection對象來下達命令的。所以Connection連接到哪個數據庫,Command對象的命令就下達到哪里。下一頁返回上一頁任務二使用Command執行數據庫命令【背景知識】下一頁返回任務二使用Command執行數據庫命令1.Command對象的常用屬性(1)Connection:該屬性獲取或設定Command對象對數據源的操作要通過哪個Connection對象,例如,如果想通過cn這個Connection對象對數據源進行數據操作,則可以將其Connection屬性的值設置為cn,即cmd.Connection=cn(cmd為Command對象的一個實例)。(2)CommandType:獲取或設置CommandText屬性中的內容是SQL語句、數據表名稱還是存儲過程的名稱。CommandType可以設置為以下三個值之一。①“CommandType.Text”(默認值)②“CommandType.TableDirect”③“CommandType.StoredProcedure”下一頁返回上一頁任務二使用Command執行數據庫命令1.Command對象任務二使用Command執行數據庫命令(3)CommandText:獲取或設置在數據源中執行的SQL語句或存儲過程。(4)CommandTimeout:獲取或設置超時時間。2.Command對象的常用方法(1)ExecuteNonQuery():可以執行例如Transact_SQL的Insert、Delete、Update命令以及Set命令,并返回受命令影響的行數。(2)ExecuteReader():執行返回行的命令。(3)ExecuteScalar():從數據庫中檢索單個值。(4)ExecuteXmlReader():把CommandText發送給連接,構建一個XmlReader對象。(5)Cancel():取消了Command命令的執行。下一頁返回上一頁任務二使用Command執行數據庫命令(3)CommandT任務二使用Command執行數據庫命令3.Command對象的創建是由其對應的構造函數構造完成的,但是,不同的數據提供者用不同的類及其構造函數完成Command對象的構建,在SQLServer數據提供者中用類SqlCommand的構造函數創建Command對象,而在OLEDB數據提供者中用類OleDBCommand的構造函數創建Command對象。表5-9列出這兩個類的4種構造函數的原型。4.ExecuteNonQuery方法Command對象的ExecuteNonQuery方法用來執行Insert、Update、Delete和其他沒有返回值的SQL命令。當使用Insert、Update、Delete等SQL命令時,ExecuteNonQuery方法返回被命令影響的行數,對其他SQL命令執行的操作,ExecuteNonQuery方法返回-1。當Update和Delete命令執行的目標記錄不存在時,ExecuteNonQuery方法只是返回0,而不構成錯誤。下一頁返回上一頁任務二使用Command執行數據庫命令3.Command對象任務二使用Command執行數據庫命令5.ExecuteScalar方法Command對象的ExecuteScalar方法執行一個SQL命令并返回結果集的第一行的第一列,如果結果集多于一行一列,它將忽略其余部分。需要注意的是,ExecuteScalar方法的返回值是Object類型,所以在使用返回值之前需要進行必要的強制類型轉換。如果對象類型不匹配,系統將生成運行錯誤。提示類型轉換無效。下一頁返回上一頁任務二使用Command執行數據庫命令5.ExecuteSc任務二使用Command執行數據庫命令6.ExecuteReader方法Command對象的ExecuteReader方法通過DataReader對象返回與SQL查詢匹配的行。只要創建一個Connection對象,并為Command對象指定一個SQL查詢,就可以調用Command對象的ExecuteReader方法,從數據源中檢索數據。Command對象的ExecuteReader方法兩種原型,二者都可以返回一個DataReader對象:(1)ExecuteReader();(2)ExecuteReader(CommandBehaviorbehavior)。返回上一頁任務二使用Command執行數據庫命令6.ExecuteRe任務三使用DataReader讀取數據【任務要點】DataReader對象及使用【案例1】完成用戶信息更新頁面的制作前面已經學習了如何將新用戶添加到數據庫中,學習了如何檢索信息,接下來要學習的是如何更新數據。在EShopTest應用程序中,需要更改用戶的個人信息——有人來到站點并使用用戶名和密碼登錄網站后,能夠在一個頁面中看到自己的信息并能夠進行修改。實例運行結果如圖5-7所示。下一頁返回任務三使用DataReader讀取數據【任務要點】下一頁返回任務三使用DataReader讀取數據【具體步驟】(1)打開本項目下任務一中的用戶注冊程序,將Register.aspx另存為名稱是ChangeUserInfo.aspx的用戶信息更改頁面。用戶注冊頁面與用戶信息更改頁面稍有不同,須做如下更改:①將輸入密碼的文本框tbPwd和tbPwd1的TextMode(文本框的行為模式)設為“SingleLine”;②將按鈕btnReg的ID屬性設為“btnChange”,Text屬性設為“更新”;③頁面頂部圖片改為“images/ChangeUser.jpg”。更改后的ChangeUserInfo.aspx窗體如圖5-8所示。下一頁返回上一頁任務三使用DataReader讀取數據【具體步驟】下一頁返回任務三使用DataReader讀取數據(2)當該窗體加載的時候,會根據用戶登錄后保存在Session[“user”]中的用戶ID檢索用戶信息,并使用檢索出的用戶信息來預加載窗體,為了更好的組織代碼此時創建一個名為showUserInfo()的私有進程,代碼如下:protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){showUserInfo();}}自定義的私有進程,執行顯示用戶信息的操作下一頁返回上一頁任務三使用DataReader讀取數據(2)當該窗體加載的時任務三使用DataReader讀取數據(3)在單擊【重置】按鈕時調用私有進程showUserInfo()重新顯示用戶信息。(4)為更新按鈕添加事件處理程序,該按鈕將負責構建和執行SQLUPDATE語句(該語句將根據用戶的ID號更新數據庫中的用戶信息)。(5)保存和編譯該項目。下一頁返回上一頁任務三使用DataReader讀取數據(3)在單擊【重置】按任務三使用DataReader讀取數據【背景知識】DataReader對象及使用DataReader對象提供了基于連接的數據存儲訪問方式,以只向前移動的、只讀的格式訪問數據源中的數據。很多時候,用戶只是希望簡單地瀏覽數據,而不需要以隨機的方式(即前后移動或根據索引訪問)來訪問數據,也不需要更改數據,ADO.NET的DataReader對象是專門為此設計的。因為DataReader只執行讀操作,而且每次只在內存中存儲一行數據,所以利用DataReader比利用DataSet的速度要快,增強了應用程序的性能,減少了系統的開銷。如果要檢索大量的數據,且并不需要寫數據和隨機訪問功能,DataReader會是一個很好的選擇。下一頁返回上一頁任務三使用DataReader讀取數據【背景知識】下一頁返回任務三使用DataReader讀取數據1.DataReader對象的常用方法(1)Read(2)GetValue(3)GetValues(4)GetString,GetInt32,GetChar等(5)NextResult(6)GetDataTypeName(7)GetName(8)IsDBNull(9)Close下一頁返回上一頁任務三使用DataReader讀取數據1.DataReade任務三使用DataReader讀取數據2.DataReader對象的常用屬性(1)FieldCount:讀取當前行中的列數。(2)HasRows:只讀,表示DataReader是否包含一行或多行數據。(3)IsClosed:讀取DataReader是否關閉。(1)DataReader對象的創建3.DataReader對象的創建與關閉DataReader對象的創建可由其構造函數創建,亦可由Command對象(SqlCommand或OleDbCommand類)的ExecuteReader方法創建。若Command對象屬于SqlCommand類,則該方法返回的是SqlDataReader對象;若Command對象屬于OleDbCommand類,則該方法返回的是OleDbDataReader對象。下一頁返回上一頁任務三使用DataReader讀取數據2.DataReade任務三使用DataReader讀取數據(2)DataReader對象的關閉DataReader是基于連接的數據存儲訪問方式,即在訪問數據的時候,DataReader要求連接一直處于打開狀態。如果數據訪問的操作可能花費較長的時間,則DataReader必須長時間處于打開狀態。因此,底層的連接也必須長時間地保持打開狀態。因為DataReader使用底層的連接,在DataReader打開的狀態下,不能使用該連接執行其他的任務,即當DataReader打開以后,DataReader就會以獨占的方式使用Connection對象,在關閉DataReader以前,將無法對Connection對象執行任何命令。所以,當閱讀完數據時或不再使用DataReader時,要記住關閉DataReader。此外,要訪問相關Command對象的任何輸出參數或返回值時,也必須在關閉DataReader后才可行。返回上一頁任務三使用DataReader讀取數據(2)DataRead任務四使用DataAdapter讀寫數據【任務要點】DataAdapter對象及使用【案例1】完成商品分類添加頁面的制作在EShopTest應用程序中,新建一個用于添加商品分類的Web窗體。實例運行效果如圖5-9所示。下一頁返回任務四使用DataAdapter讀寫數據【任務要點】下一頁返任務四使用DataAdapter讀寫數據【具體步驟】(1)在網站EShopTest中建立一個名為AddCategory.aspx的Web窗體。(2)在窗體中輸入說明文字,添加一個TextBox控件更改其ID為txtCategory,添加Button控件更改其ID為btnAdd。(3)雙擊按鈕控件,在自動生成的btnAdd_Click()事件中添加代碼。下一頁返回上一頁任務四使用DataAdapter讀寫數據【具體步驟】下一頁返任務四使用DataAdapter讀寫數據【案例2】完成商品分類導航窗體的制作EShopTest應用程序中,商品是該網站的主要內容,如果想方便準確地找到所需的商品,應該按商品的分類查找,下面所制作的就是顯示商品分類列表的頁面。該頁面顯示商品分類的鏈接,點擊鏈接可轉到顯示該分類下的商品信息。實例運行效果如圖5-10所示。【具體步驟】(1)在網站EShopTest中建立一個名為CategoryList.aspx的窗體。下一頁返回上一頁任務四使用DataAdapter讀寫數據【案例2】完成商品分任務四使用DataAdapter讀寫數據(2)在窗體中新建一個兩行一列的表格,并將DataList控件從工具箱中拖到這個表格的第二行第一列中。該DataList的屬性設置見表5-10。(3)CategoryList.aspx.cs中添加如下引用:usingSystem.Data.SqlClient;(4)當窗體加載的時候檢索數據,并實現數據綁定。(5)在HTML代碼中添加如下相關代碼設計模式下界面如圖5-11所示。下一頁返回上一頁任務四使用DataAdapter讀寫數據(2)在窗體中新建一任務四使用DataAdapter讀寫數據【背景知識】DataAdapter對象及使用DataAdapter對象主要是在Connection對象和DataSet對象之間執行數據傳輸的工作,這個對象架構在Command對象上。DataReader通過Command對象對數據源執行SQL命令,將數據填充到DataSet對象,以及把DataSet對象中的數據更新返回到數據源中。下一頁返回上一頁任務四使用DataAdapter讀寫數據【背景知識】下一頁返任務四使用DataAdapter讀寫數據1.DataAdapter對象的常用方法(1)Update:根據保存在DataSet中的數據來更新數據源中的數據。(2)Fill:利用數據源中的數據填充或刷新DataSet,其返回值是加載到DataSet中的行數量。Fill方法使用DataAdapter對象的SelectCommand的結果來填充DataSet。具體是通過使用DataReader對象來隱式地返回用于在DataSet中創建的表的列名稱及類型(表和列僅在不存在時創建,否則使用現有的DataSet架構),并填充DataSet中的表。下一頁返回上一頁任務四使用DataAdapter讀寫數據1.DataAdap任務四使用DataAdapter讀寫數據2.DataAdapter對象的常用屬性(1)SelectCommand:從數據源中檢索數據。(2)InsertCommand:向數據源中插入新的數據。(3)DeleteCommand:從數據源中刪除數據。(4)UpdateCommand:更新數據源中的數據。下一頁返回上一頁任務四使用DataAdapter讀寫數據2.DataAdap任務四使用DataAdapter讀寫數據3.DataAdapter對象的構造函數與創建DataAdapter對象的創建是由其對應的構造函數完成的,但是,不同的數據提供者用不同的類及其構造函數完成DataAdapter對象的創建,在SQLServer數據提供者中用類SqlDataAdapter的構造函數創建DataAdapter對象,而在OLEDB數據提供者中用類OleDbDataAdapter的構造函數創建DataAdapter對象。表5-11分別列出這兩個類的四種構造函數的原型。返回上一頁任務四使用DataAdapter讀寫數據3.DataAdap任務五使用DataSet【任務要點】DataSet對象及使用【案例1】完成顯示商品信息列表頁面的制作實例運行效果如圖5-12所示。點擊商品分類名稱后鏈接到商品列表頁面,如圖5-13所示。下一頁返回任務五使用DataSet【任務要點】下一頁返回任務五使用DataSet【具體步驟】(1)在網站中建立一個名為ProductList.aspx的Web窗體。(2)新一個布局表格,并將GridView控件從工具箱中拖到布局表格的第二行第一列中。(3)更改GridView的ID屬性為grdvProductList。(4)單擊GridView的Columns屬性,彈出如圖5-14所示的對話框。在對話框中添加字段,新添加的字段設置見表5-12。完成以上設置后在設計模式下網頁界面如圖5-15所示。(5)添加代碼,用于當該頁面加載的時候,根據傳入的商品分類ID檢索商品信息。下一頁返回上一頁任務五使用DataSet【具體步驟】下一頁返回上一頁任務五使用DataSet【案例2】制作一個顯示商品名稱列表的頁面實例運行效果如圖5-16所示。【具體步驟】(1)在網站中建立一個名為DataSetTest.aspx的頁面。(2)在窗體中添加GridView控件,更改GridView的ID屬性為gvTest。(3)雙擊設計視圖下窗體的空白處,在自動生成的Page_Load()事件中添加代碼。下一頁返回上一頁任務五使用DataSet【案例2】制作一個顯示商品名稱列表的任務五使用DataSet【背景知識】DataSet對象及使用1.DataSet對象的概念DataSet這個對象可以視為一個暫存區(Cache),它可以把從數據庫中所查詢到的數據保留起來,甚至可以將整個數據庫暫存起來。DataSet是數據在內存中的表示形式。DataSet對象包含一組DataTable對象和DataRelation對象,DataTable對象中存儲數據,由數據行(列)、主關鍵字、外關鍵字、約束等組成。DataRelation對象中存儲各DataTable之間的關系。這意味著DataSet架構內所有的成員都非常對象化,方便更有彈性地來操作這些對象。下一頁返回上一頁任務五使用DataSet【背景知識】下一頁返回上一頁任務五使用DataSet2.向DataSet中填充數據的方法向DataSet中填充數據的方法有若干種,這些方法可以單獨應用,也可以結合應用。主要方法有:(1)在DataSet對象中以編程方式創建DataTables、DataRelations和Constraints對象,并使用數據填充這些表;(2)通過DataAdapter對象用現有關系數據源中的數據表填充DataSet;(3)使用XML加載和保持DataSet內容。下一頁返回上一頁任務五使用DataSet2.向DataSet中填充數據的方法任務五使用DataSet3.DataSet對象的常用方法與數據更新(1)HasChanges:指出自從填充DataSet或最后一次調用AcceptChanges以后,DataSet中的行是否發生變化,該方法返回一個bool值。(2)GetChanges:該方法返回一個DataSet對象,實際上是創建了另一個DataSet,該DataSet只包含對數據作出的更改或者是具有可選狀態的行。(3)AcceptChanges:接受DataSet中的所有表的變化,即行的標記都將設置為“未變化”。如果在調用DataAdapter的Update方法之前調用AcceptChanges,Update將不會發現任何標記為“被改動”的行,因此數據源將不會被更新。(4)RejectChanges:拒絕自從填充DataSet或最后一次調用AcceptChanges以后,DataSet上的所有變化。實際上,這個方法是通過把已改變的行還原為初始值,從而回滾更改操作。下一頁返回上一頁任務五使用DataSet3.DataSet對象的常用方法與數任務五使用DataSet4.訪問DataSet對象中的數據表按名稱引用(訪問)DataSet中的表和關系是區分大小寫的。一個DataSet中可以存在兩個或更多個名稱相同但大小寫不同的表或關系。例如,可以有Table1和table1。在這種情況下,對其中一個表的按名稱引用必須精確匹配該表名稱的大小寫,否則會引發異常。如果只存在一個具有特定名稱的表或關系,則區分大小寫規則不適用。也就是說,如果DataSet中沒有其他任何表或關系對象匹配該特定表或關系對象的名稱,那么即使大小寫不同,仍可以按采用任何大小寫的名稱來引用該對象,而不會引發異常,例如,如果DataSet只包含Table1,則可以使用ds.Tables[“TABLE1”]來引用它。下一頁返回上一頁任務五使用DataSet4.訪問DataSet對象中的數據表任務五使用DataSetDataSet提供了CaseSensitive屬性,用于指定DataTable中的字符串比較是否區分大小寫,該屬性會應用于DataSet中的數據,它將影響排序、搜索、篩選、約束強制等,但不會影響對DataSet中表或關系名稱的引用。5.DataSet對象與DataAdapter對象間的關系可以把DataSet對象看成是暫時存放資料的地方,它本身并不具備和數據源聯機以及操作數據源的能力。如果想要將數據源的數據取回并存放在DataSet里面的DataTable中,則要通過數據操作組件才辦得到。數據操作組件(ManagedProvider)就是由Connection、Command、DataAdapter以及DataReader下一頁返回上一頁任務五使用DataSetDa任務五使用DataSet這四個對象組成,其中DataSet對象和DataAdapter對象的關系最密切,因為DataAdapter對象是幫助DataSet對象和數據源溝通的橋梁;當DataSet對象通過DataAdapter對象來獲取數據源的數據時,它會先依照數據在數據源中的架構產生一個DataTable對象,然后將數據源中的數據取回后填入DataRow對象,再將DataRow對象填加到DataTable的Rows集合,直到數據源中的數據取完為止。DataAdapter對象將數據源中的數據取出,并將這些數據都填入自己產生的DataTable對象后,立即將這個DataTable對象加入DataSet對象的DataTables集合,并結束和數據源的聯機。返回上一頁任務五使用DataSet這四個對象組成,其中D任務六使用DataList控件【任務要點】DataList控件可以在一個重復列表中顯示數據項,并且還可以支持選擇和編輯項目。可使用模板對顯示的數據進行排版。【案例1】制作顯示最新上架商品主要信息的頁面運行結果如圖5-17所示。下一頁返回任務六使用DataList控件【任務要點】下一頁返回任務六使用DataList控件【具體步驟】(1)在EShop中,新建了一個名為Default.aspx的Web窗體。(2)打開Default.aspx窗體,在窗體中新建一個兩行一列的表格。(3)在窗體的設計視圖下將DataList控件從工具箱中拖到布局表格的第二行中,更改ID為dlstNewProducts,設置RepeatColumns為3。此時效果如圖5-18所示。(4)選中新添加的DataList并右擊,彈出的快捷菜單如圖5-19所示。此時選擇【編輯模板】【項模板】命令。選擇編輯模板后頁面圖如圖5-20所示。(5)在ItemTemplate中插入布局表格,如圖5-21所示。下一頁返回上一頁任務六使用DataList控件【具體步驟】下一頁返回上一頁任務六使用DataList控件(6)在ItemTemplate中布局表格的第一行插入一個Image控件和一個Label控件,分別將ID改為imgProduct和lblId,并調整Image控件大小。在第二行插入一個Label控件并更改ID為lblProductName。在第三行的第一列插入文字“市場價:”,在第二列插入一個Label控件和文字“元”,并更改Label控件的ID為lblMarketPrice。在第四行的第一列插入文字“會員價:”,在第二列插入一個Label控件和文字“元”,并更改Label控件的ID為lblMarketPrice。在第五行的第一列插入一個ImageButton控件更改ID為ibtnBuy。在第二列插入HTML圖片更改ID為imgShow,并為其加鏈接為show.aspx?id=<%#Eval("ProId")%>。在表格下面插入一個LinkButton控件,更改其ID為lbtnType。(7)在SelectedItemTemplate中插入TextBox控件,更改其ID為tbox。在TextBox下面插入一個LinkButton控件,更改其ID為lbtnClose。此時頁面效果如圖5-22所示。下一頁返回上一頁任務六使用DataList控件(6)在ItemTemplat任務六使用DataList控件(8)下面來完成控件的屬性設置及數據邦定:在ItemTemplate中的布局表格里添加的各控件的屬性設置見表5-13。(9)設置完成后,在設計模式下的窗體如圖5-23所示。(10)添加窗體的Page_Load()方法(11)添加dlstNewProducts的ItemCommand事件,在編輯模板的時候為購買商品按鈕、顯示商品型號鏈接分別添加了命令名稱為“buy”,“type”。該事件就是根據這個命令執行對應的操作。下一頁返回上一頁任務六使用DataList控件(8)下面來完成控件的屬性設置任務六使用DataList控件【背景知識】DataList控件(1)DataList控件的基本語法如下:<asp:DataListID=”DataList1”runat=”server”RepeatDirection=""RepeatColumns=""RepeatLayout=""DataKeyField=""OnEditCommand=""OnCancelCommand=""下一頁返回上一頁任務六使用DataList控件【背景知識】下一頁返回上一頁任務六使用DataList控件OnDeleteCommand=""OnUpdateCommand=""OnItemCommand="">模板列</asp:DataList>(2)在DataList控件中,ASP.NET也提供了7種模板列用來定義數據顯示的內容和布局,具體參見表5-14。(3)在DataList中創建多列:DataList的一個好處是可以以多個列顯示數據項。通過設置其RepeatColumns和RepeatDirection屬性,可以控制DataList的列的布局。(4)捕獲DataList控件中產生的事件下一頁返回上一頁任務六使用DataList控件OnDeleteCommand任務六使用DataList控件(5)選擇DataList中的項(6)使用DataList控件中的DataKeys集合(7)編輯DataList中的項返回上一頁任務六使用DataList控件(5)選擇DataList中的任務七使用GridView控件【任務要點】使用GridView控件顯示和操作數據。【案例1】制作商品分類信息管理頁面在EShopTest網站后臺能夠對商品分類進行管理,在商品分類管理頁面能夠添加商品分類,并能夠對已有的商品分類進行更改,刪除過期的商品分類。制作完成后的網頁運行結果如圖5-24所示。下一頁返回任務七使用GridView控件【任務要點】下一頁返回任務七使用GridView控件【具體步驟】(1)在EShop項目下新建文件夾admin。(2)在admin文件夾里新建Web窗體class.aspx。(3)在設計模式下編輯頁面,在頁面的第一行輸入“商品分類管理”,在第一行下面插入一個分隔線。(4)在分隔線下插入一個表格,并調整表格布局為兩行一列。(5)在表格的第一行輸入“輸入分類名稱:”,在輸入文字的右邊插入一個TextBox控件,并更改其ID為txtClass,在txtClass右邊插入一個RequiredFieldValidator驗證控件,更改其ID為valrClassName,ErrorMessage為“請輸入類別!”,ControlToValidate屬性設為“txtClass”,在rvClass右邊插入一個Button控件,并更改其ID為btnSave,更改其Text屬性為“保存”。下一頁返回上一頁任務七使用GridView控件【具體步驟】下一頁返回上一頁任務七使用GridView控件(6)在表格的第二行插入一個GridView控件。更改新插入GridView控件的ID為gvClass。設置AllowPaging屬性為True,設置PageSize屬性為10。設置AutoGenerateColumns屬性為False。設置DataKeysName為id。此時設計模式下頁面如圖5-25所示。(7)單擊選中gvClass。單擊Columns屬性,彈出如圖5-26所示的對話框。(8)添加兩個BoundField,設置第一個BoundField的DataField屬性為id,HeaderText屬性設為“編號”,ReadOnly屬性設為True。設置第二個BoundField的DataField屬性為Category,HeaderText屬性為“分類”。添加一個CommandField下面的“編輯、更新、取消”字段,設置其HeaderText屬性為“編輯”,設置CausesValidation屬性為False。再添加一個CommandField下面的“刪除”,設置其HeaderText屬性為“刪除”。完成列設置后的頁面如圖5-27所示。下一頁返回上一頁任務七使用GridView控件(6)在表格的第二行插入一個G任務七使用GridView控件(9)新建一個過程完成gvClass的數據邦定。在代碼頁新建一個數據邦定過程。(10)編寫完成數據操作的過程,根據傳入參數SQL語句對數據進行操作。(11)添加btnSave按鈕的Click事件并編寫代碼完成分類的添加。(12)添加gvClass編輯的相關事件并編寫代碼實現記錄編輯功能。(13)添加gvClass的RowDeleting事件,并編寫代碼實現記錄刪除功能。(14)添加gvClass的PageIndexChanging事件,并編寫代碼實現記錄分頁顯示功能。下一頁返回上一頁任務七使用GridView控件(9)新建一個過程完成gvCl任務七使用GridView控件【背景知識】GridView控件一、方法:DataBind它是很簡單、最常用的方法。用于綁定數據。需要注意的只有一點:執行了這個方法后,GridView(由于GridView和DataList極為相似,所以下面的介紹雖然是針對GridView,但與DataList也相差不遠)里面所有的顯示綁定數據的控件,都會顯示DataSource里的數據,其余控件也將初始化成.aspx里設計的狀態。下一頁返回上一頁任務七使用GridView控件【背景知識】下一頁返回上一頁任務七使用GridView控件二、屬性1.DataSource有DataBind的地方,就應該有DataSource。如果沒有指定DataSource而執行DataBind,那GridView將什么也不會顯示。DataSource一般是DataSet、DataTable或者DataView。當然也可以綁定DataReader或者其他實現IEnumerable的類。2.DataKeyField,DataKeys在GridView中定位一行之后,如果想知道這行在數據表里的位置,至少有五種方法可以做到這一點,設置GridView的DataKeyField就是這幾種方法之一。下一頁返回上一頁任務七使用GridView控件二、屬性下一頁返回上一頁任務七使用GridView控件3.EditItemIndex,SelectedIndex,CurrentPageIndex,SelectedItem這些屬性看名字就能理解其意義,需要注意的是,設置了EditItemIndex或者CurrentPageIndex后需要重新執行DataBind方法(前面提到過,還需要設置DataSource)。4.ColumnsColumns就是Column列的集合,可以設置列的屬性,包括Visible、HeaderText、FooterText、SortExpression等。5.ItemsItems是GridViewItem的集合,可以遍歷當前GridView中顯示數據的GridViewItem。GridViewItem每一個GridViewItem就是GridView中顯示的一行,其中包括:下一頁返回上一頁任務七使用GridView控件3.EditItemIndex任務七使用GridView控件HeaderGridView控件的標題部分ItemGridView控件中的項AlternatingItemGridView控件中的交替項SelectedItemGridView控件中的選定項(由SelectedIndex設置,通過SelectedItem屬性或者Items[SelectedIndex]來讀取)EditItemGridView控件中處于編輯狀態的項(由EditItemIndex設置,通過Items[EditItemIndex]來讀取)SeparatorGridView控件中項之間的分隔符FooterGridView控件的腳注部分PagerGridView控件的頁選擇節下一頁返回上一頁任務七使用GridView控件HeaderGridView任務七使用GridView控件下面介紹GridViewItem的屬性。ItemIndex——得到行在Items中的索引。ItemType——返回行的類型,也就是上面列出的Header、Item、…、Pager。Cells——返回行包含的所有TableCell(不管是顯示聲明的,還是自動生成的;不管是可以看見的,還是隱藏掉的),通過TableCell,可以讀取Cell中顯示的文本、包含的控件。下一頁返回上一頁任務七使用GridView控件下面介紹GridViewIte任務七使用GridView控件三、事件1.ItemCommand、CancelCommand、DeleteCommand、EditCommand、UpdateCommand也就是在GridView中,單擊Button、LinkButton后執行的事件,執行的事件取決于按鈕的CommandName。其實最主要的一個是ItemCommand,而后面四個都只是ItemCommand的一小部分,比如一個按鈕的CommandName為“Cancel”,當返回后,首先執行的是ItemCommand事件,然后才是CancelCommand事件。2.PageIndexChanged如果GridView是分頁的,那在GridView上單擊Pager上的1、2、3或者<、>時,就會激發這個事件。在這個事件里面,可以用e.NewPageIndex來讀取要改變的頁,然后賦值給GridView的CurrentPageIndex屬性,最后要記得設置DataSource和執行DataBind。下一頁返回上一頁任務七使用GridView控件三、事件下一頁返回上一頁任務七使用GridView控件3.ItemDataBound,ItemCreated首先要說的是這兩個事件的發生時間。只要執行了DataBind方法,就會馬上激發ItemDataBound事件。如果頁面是第一次訪問(Page.IsPostBack=false),那在第一次執行DataBind的時候,會先激發ItemCreated事件,也就是說,執行了DataBind后,首先會用ItemCreated來建立Header行,然后用ItemDataBound來綁定Header行,再用ItemCreated來建立第一行,再調用ItemDataBound來綁定第一行,也就是說ItemCreated和ItemDataBound是交替執行的。頁面返回時,在Page_Load之前,也會執行ItemCreated事件,但是這時候就不會再執行ItemDataBound事件了。所以,如果想在GridView里動態添加什么控件,就需要在ItemCreated事件中執行,而不是在ItemDataBound事件中。返回上一頁任務七使用GridView控件3.ItemDataBound表5-1UserInfo(用戶信息表)返回下一頁表5-1UserInfo(用戶信息表)返回下一頁表5-2Category(商品目錄表)返回下一頁上一頁表5-2Category(商品目錄表)返回下一頁上一頁表5-3Product(商品信息表)返回下一頁上一頁表5-3Product(商品信息表)返回下一頁上一頁表5-4Administrator(管理員信息表)返回上一頁表5-4Administrator(管理員信息表)返回上一表5-5ADO.NET相關的命名空間返回表5-5ADO.NET相關的命名空間返回表5-6SqlConnection類的兩個構造函數及對應的功能返回表5-6SqlConnection類的兩個構造函數及對應的表5-7OleDbConnection類的兩個構造函數及對應的功能返回表5-7OleDbConnection類的兩個構造函數及對表5-9SqlCommand類與OleDBCommand類的4種構造函數返回表5-9SqlCommand類與OleDBCommand類表5-10DataList屬性設置返回表5-10DataList屬性設置返回表5-11SqlDataAdapter類與OleDbDataAdapter類的構造函數的原型返回表5-11SqlDataAdapter類與OleDbDat表5-12GridView字段設置表返回表5-12GridView字段設置表返回表5-13ItemTemplate布局表格中添加的各控件的屬性設置返回表5-13ItemTemplate布局表格中添加的各控件的表5-14DataList控件模板返回表5-14DataList控件模板返回圖5-2用戶注冊窗體設計視圖返回圖5-2用戶注冊窗體設計視圖返回圖5-3用戶注冊頁面返回圖5-3用戶注冊頁面返回圖5-4顯示商品分類的名稱返回圖5-4顯示商品分類的名稱返回圖5-5會員登錄窗體返回圖5-5會員登錄窗體返回圖5-6會員登錄頁面返回圖5-6會員登錄頁面返回圖5-7用戶信息更改頁面返回圖5-7用戶信息更改頁面返回圖5-8用戶信息更改設計窗體返回圖5-8用戶信息更改設計窗體返回圖5-9添加商品分類頁面返回圖5-9添加商品分類頁面返回圖5-10商品分類頁面返回圖5-10商品分類頁面返回圖5-11商品分類列表設計返回圖5-11商品分類列表設計返回圖5-12商品分類頁面返回圖5-12商品分類頁面返回圖5-13商品詳細列表頁面返回圖5-13商品詳細列表頁面返回圖5-14GridView屬性設置對話框返回圖5-14GridView屬性設置對話框返回圖5-15設計視圖下商品列表窗體返回圖5-15設計視圖下商品列表窗體返回圖5-16快速手工建立DataSet返回圖5-16快速手工建立DataSet返回圖5-17商品展示頁面返回圖5-17商品展示頁面返回圖5-18最新上架頁面設計模式圖返回圖5-18最新上架頁面設計模式圖返回圖5-19DataList編輯模板(1)返回圖5-19DataList編輯模板(1)返回圖5-20DataList編輯模板(2)返回圖5-20DataList編輯模板(2)返回圖5-21DataList編輯模板(3)返回圖5-21DataList編輯模板(3)返回圖5-22DataList編輯模板(4)返回圖5-22DataList編輯模板(4)返回圖5-23設置完成后在設計模式下的窗體返回圖5-23設置完成后在設計模式下的窗體返回圖5-24商品分類編輯頁面返回圖5-24商品分類編輯頁面返回圖5-25GridView設計圖(1)返回圖5-25GridView設計圖(1)返回圖5-26GridView設計圖(2)返回圖5-26GridView設計圖(2)返回圖5-27GridView設計圖(3)返回圖5-27GridView設計圖(3)返回項目五掌握ASP.NET數據庫操作任務一制作EShopTest網上購物商城用戶注冊頁面
任務二使用Command執行數據庫命令
任務三使用DataReader讀取數據
任務四使用DataAdapter讀寫數據
任務五使用DataSet
任務六使用DataList控件
任務七使用GridView控件項目五掌握ASP.NET數據庫操作任務一制作EShopT任務一制作EShopTest網上購物商城用戶注冊頁面【任務要點】操作數據庫的第一步必須是先建立與數據庫的連接。Connection對象專門肩負著這樣的重任。該對象提供了很多屬性和方法以便用戶順利進行連接操作。接下來開始通過實例學習Connection對象及使用。【案例1】測試與SQLServer數據庫建立連接下一頁返回任務一制作EShopTest網上購物商城用戶注冊頁面【任務任務一制作EShopTest網上購物商城用戶注冊頁面【具體步驟】(1)打開VisualStudio2005新建網站EShopTest,位置選擇文件系統,指定站點文件夾。(2)添加Web窗體并命名為ConnectionTest。(3)從工具箱中拖一個Label控件到窗體中,并命名該控為lblMessage。(4)轉到窗體的代碼視圖,在代碼中添加引用usingSystem.Data.SqlClient。(5)雙擊新建窗體的空白處,在窗體的Page_Load()事件中添加如下代碼:下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【具體步任務一制作EShopTest網上購物商城用戶注冊頁面protectedvoidPage_Load(objectsender,EventArgse){SqlConnectionconn=newSqlConnection();conn.ConnectionString="server=zhubaiming\\sql2000;uid=sa;pwd=sa;database=EShop";conn.Open();lblMessage.Text=conn.State.ToString();conn.Close();}下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面prot任務一制作EShopTest網上購物商城用戶注冊頁面【案例2】實現用戶注冊頁面的功能在項目四的能力大比拼中,已經完成了一個名為Register.aspx頁面的制作,在設計模式下界面如圖5-2所示。本窗體用于接收用戶輸入的數據。但是,這樣的窗體在用戶將數據保存起來之前,是沒有多少用處的,接下來就是現在將要完成的任務,當單擊【注冊】按鈕的時候執行代碼將數據保存到數據庫中。本項目使用的數據庫EShop應用程序中的SQLServer數據庫。EShopTest程序中所使用到的表的結構見表5-1~表5-4。實例運行結果如圖5-3所示。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【案例2任務一制作EShopTest網上購物商城用戶注冊頁面【具體步驟】(1)在EShopTest應用程序中打開Register.aspx頁。(2)在后臺編碼文件的頂部添加下列導入語句,因為此處將用到這些命名空間中的類:usingSystem.Data.SqlClient;(3)為注冊按鈕添加事件處理程序,以前該控件只是為了測試用于驗證的不同文本框的內容。現在,該按鈕將負責構建和執行SQLINSERT語句(該語句將一條新用戶記錄添加到數據庫中)。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【具體步任務一制作EShopTest網上購物商城用戶注冊頁面【背景知識】一、相關命名空間的引用1.System.Data命名空間在程序中,要使用ADO.NET對象模型中的類時,必須首先引用System.Data這個命名空間。因為System.Data這個命名空間中包括大部分組成ADO.NET架構的基礎對象類別,例如,DataSet對象、DataTable對象、DataColumn對象、DataRelation對象。2.System.Data.OleDb命名空間當要使用OLEDB數據提供都來存取數據時,必須引用System.Data.OleDb這個命名空間。System.Data.OleDb這個命名空間定義了OLEDB數據操作組件的對象類別,例如,OleDbConnection類、OleDbCommand類、OleDbDataAdapter類及OleDbDataReader類。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面【背景知任務一制作EShopTest網上購物商城用戶注冊頁面3.System.Data.SqlClient命名空間當要使用SQLServer數據提供者存取數據時,必須引用System.Data.SqlClient這個命名空間。System.Data.SqlClient這個命名空間定義了SQL數據操作組件的對象類別,例如,SqlConnection類、SqlCommand類、SqlDataAdapter類及SqlDataReader類。
表5-5簡要列舉了.NET框架中與ADO.NET相關的幾個命名空間。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面3.Sy任務一制作EShopTest網上購物商城用戶注冊頁面二、Connection對象及使用Connection對象主要用于建立與指定數據源的連接,處理訪問數據源時所需要的安全設置。如果沒有利用Connection對象將數據庫打開,是無法從數據庫中獲取數據的。在這里介紹Connection對象常用的屬性和方法。1.Connection對象的常用方法(1)Open():利用ConnectionString所指定的屬性設置打開一個數據庫連接。(2)Close():關閉與數據庫的連接。(3)CreateCommand():創建并返回一個與Connection相關的Command對象。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面二、Co任務一制作EShopTest網上購物商城用戶注冊頁面2.Connection對象的常用屬性(1)ConnectionString:獲取或者設置用于打開數據庫的連接字符串。(2)ConnectionTimeout:在試圖建立連接的過程中,獲取在終止操作并產生錯誤之前等待的時間,也就是超時時間。(3)DataBase:取得在數據庫服務器上要打開的數據庫名。(4)DataSource:取得要連接的SQLServer實例的名稱。(5)State:取得目前連接的狀態。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面2.Co任務一制作EShopTest網上購物商城用戶注冊頁面3.Connection對象的構造函數與Connection對象的創建Connection對象的創建是由其對應的構造函數構造完成的,但是,不同的數據提供者用不同的類及構造函數完成Connection對象的創建,在SQLServer數據提供者中用類SqlConnection的構造函數創建Connection對象,而在OLEDB數據提供者中用類OleDbConnection的構造函數創建Connection對象。
表5-6分別列出了SQLServer數據提供者中類SqlConnection的兩個構造函數的原型及其功能。
表5-7分別型列出了OLEDB數據提供者中類OleDbConnection的兩個構造函數的原型及其功能。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面3.Co任務一制作EShopTest網上購物商城用戶注冊頁面4.連接字符串(1)連接到SQLServer數據庫的連接字符串要連接一個數據庫,需要指明要連接的數據庫的種類、數據庫服務器名稱、數據庫名稱、登錄用戶名稱以及密碼等信息,這些信息就是連接字符串。連接字符串可以在Connection對象的ConnectionString屬性里指定。(2)連接到Access2000數據庫的連接字符串連接Access數據庫機制與連接SQLServer的機制沒太大的區別,只是要使用OLEDB數據提供者中的OleDbConnection類來定義Connection對象,且需要對連接字符串中的不同參數指定不同的值即可。下一頁返回上一頁任務一制作EShopTest網上購物商城用戶注冊頁面4.連接任務一制作EShopTest網上購物商城用戶注冊頁面5.Connection對象的打開和關閉創建一個Connection對象并指定一個連接字符串并沒有打開一個指向數據庫的物理連接,需要調用對象的Open方法來打開連接。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石油批發企業財務風險防范考核試卷
- 部編版四年級語文下冊習作《游-》精美課件
- 2025全面合同租賃手冊
- 水彩花草樹木教學課件
- 2025職員借用合同協議書
- 2025屆廣東省深圳市高三二模歷史試題(含答案)
- 2025年合同法疑難點睛:常見合同法律問題解析
- 2025年的上海合同范本
- 2025中介服務合同書
- 2025小學道德與法治教師課標考試模擬試卷附參考答案 (兩套)
- 《實驗室生物安全》課件
- 攝影師經紀人合作合同
- 手術室手衛生PDCA
- JJF(陜) 053-2021 浮游菌采樣器校準規范
- 統編版語文四年級上冊期末復習- 一字多義專項選擇題(含答案)
- 高二 花城版 歌唱 第三單元第三節《潤腔與韻味》課件
- 學校墻面彩繪施工合同
- 醫院住院綜合樓施工組織設計方案
- 合作聯展合同模板
- LNG冷能利用介紹
- 安全生產特種設備日管控、周排查月調度工作制度
評論
0/150
提交評論