版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、對(duì)數(shù)據(jù)庫(kù)的操作總體可以分為兩類(lèi):查詢(xún) (select) 和更新(insert,delete,update) 。為什么這樣來(lái)分呢?仔細(xì)看看兩類(lèi)的區(qū)別, select只是從數(shù)據(jù)庫(kù)中將數(shù)據(jù)拿出來(lái)使用, 而其余三者都會(huì)對(duì)數(shù)據(jù)庫(kù)的物理數(shù)據(jù)進(jìn)行修 改。 capucivar 在上篇文章中已經(jīng)對(duì)數(shù)據(jù)庫(kù)的查詢(xún)操作進(jìn) 行了詳細(xì)的闡述。這 篇文章將接著闡述更新數(shù)據(jù)。更新數(shù)據(jù)庫(kù)信息首先是連接數(shù)據(jù)庫(kù), 這個(gè)capucivar在?C#連接數(shù)據(jù)庫(kù)之查詢(xún)數(shù) 據(jù)庫(kù)?中已有介紹了。對(duì)數(shù)據(jù)庫(kù)的更新需要一個(gè)對(duì)象: OleDbCommand該對(duì)象表 示要對(duì)數(shù)據(jù)源執(zhí)行的SQL語(yǔ)句或存儲(chǔ)過(guò)程。這個(gè)對(duì)象有三個(gè)屬性:1、Comma ndTex
2、表示要設(shè)置命令的文本;2、Conn ection 表示要設(shè)置命令的連接;3、Comma ndTyp表示設(shè)置命令的類(lèi)型,默認(rèn)的是 Sql 語(yǔ)句(但如果不是執(zhí)行 sql 語(yǔ)句,就一定要指定命令的類(lèi)型)。 OleDbCommand 對(duì)象設(shè) 置好以后, 就該執(zhí)行 sql 語(yǔ)句了。方法 ExecuteNonQuery() 就是執(zhí)行 sql 語(yǔ)句。如果記不住這個(gè)方法,教你一個(gè)簡(jiǎn)單的記法:將“ExecuteNonQuery單 詞分為三局部,就是“執(zhí)行不查詢(xún),那就是更新數(shù)據(jù)了。下面就做一個(gè)例子熟悉對(duì)數(shù)據(jù)庫(kù)的更新:先使用 Visual Studio2005 做出如下界面:-JDI Ml除|界面做好以后就相當(dāng)于做
3、了一個(gè)空殼子。 接下來(lái)就是往里邊添加事件了。我們還 要借用上篇文章中的ConnDb類(lèi),在該類(lèi)里添加一個(gè)方法:update()對(duì)數(shù)據(jù)庫(kù)進(jìn) 行更新,該方法里有一個(gè)參數(shù)stri ng sql 。public class ConnDbOleDbCo nn ection conn = n ull;連接數(shù)據(jù)庫(kù)的對(duì)象/下面是構(gòu)造函數(shù)連接數(shù)據(jù)庫(kù)public Conn Db() if (conn=n ull)判斷連接是否為空 conn = new OleDbC onnection();conn .C onn ectio nStri ng="provider=sqloledb.1;datasource=
4、.;i nitialcatalog=capucivar;userid=sa;pwd=" 連接數(shù)據(jù)庫(kù)的字符if (conn.State = ConnectionState.Closed) conn.Open();/翻開(kāi)數(shù)據(jù)庫(kù)連接 / 下面這個(gè)方法是從數(shù)據(jù)庫(kù)中查找數(shù)據(jù)的方法public DataSet query(string sql) DataSet ds = new DataSet();/DataSet 是表的集合OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);/從數(shù)據(jù)庫(kù)中查詢(xún)da.Fill(ds);/將數(shù)據(jù)填充到 DataS
5、etconnClose();/關(guān)閉連接return ds;/返回結(jié)果/ 下面的方法是對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新public int update(string sql)OleDbCommand oc = new OleDbCommand();/表示要對(duì)數(shù)據(jù)源執(zhí)行的SQL語(yǔ)句或存儲(chǔ)過(guò)程oc mandText = sql;/設(shè)置命令的文本oc mandType = CommandType.Text;/ 設(shè)置命令的類(lèi)型oc.Connection = conn;/ 設(shè)置命令的連接int x=oc.ExecuteNonQuery();執(zhí)行 SQL語(yǔ)句connClose();/關(guān)閉連接return x; /返回一個(gè)
6、影響行數(shù)using System;using System. Collections . Generic ;using System. Linq ;using System. Text ;using System. Data. SqlClient ;using System. Data. Sql ;namespaceSelectCourseclass DBprivate SqlConnection conn;public SqlConnection connect ()conn =newSqlConnection ( "Server=localhost;Database=Demo;u
7、id=root;pwd=root" );conn. Open();return conn;public SqlDataReader Login ( String userName, String passWord)SqlConnection SqlDbConnection = connect (); / 獲得連接String sqlstr = "select * from student where user=" + userName+"password =" + passWord;SqlCommansdcd = newSqlComman(ds
8、qlstr , SqlDbConnection ); / 將 sql 語(yǔ) 句放到連接中 rSqlDataReader dr = scd. ExecuteReader ();! return dr;、 、using System;using System. Collections . Generic ;using SystemponentModel ;using System. Data;using System. Drawing ;using System. Linq ;using System. Text ;using System. Windows. Forms;/download by
9、using System. Data. OleDb;namespaceCase05_5publicpartialclassForm1 : Formpublic Form1()InitializeComponent (); privatevoid button1_Click ( object sender , EventArgs e)if ( textBox1 . Text = "" | textBox2 . Text = "" )MessageBox. Show( "輸入登錄信息不完整,請(qǐng)從新輸入! ", "信息提示 &qu
10、ot;, MessageBoxButtons . OK, MessageBoxIcon. Information ); / 提示對(duì)話(huà)框elsestring mypath = Application . StartupPath + "mydata.accdb" ; /連接數(shù)據(jù)庫(kù)的路徑與數(shù)據(jù)庫(kù)名 string constr = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source =" + mypath; / 生成連接數(shù)據(jù)庫(kù)字符串OleDbConnection mycon = newOleDbConnection
11、 ( constr ); / 定義OleDbConnection 對(duì)象實(shí)例并連接數(shù)據(jù)庫(kù)mycon. Open();string mysql = "select * from person where 用戶(hù)名 = '" + textBox1 . Text + "' and 密碼 = '" + textBox2 . Text + "'" ; /Sql 查詢(xún)語(yǔ)句OleDbDataAdapter myada= newOleDbDataAdapter ( mysql, mycon);DataTablemydt =
12、 newDataTable ();myada. Fill ( mydt);int i = mydt. Rows. Count;if ( i >= 1)Form2myf = newForm2();myf. Show(); / 顯示主界面myf. label1 .Text = "歡送 " + textBox1 .Text + " 登錄主界面 , 其登錄 密碼是: " + textBox2 . Text;elseMessageBox. Show( "用戶(hù)名或密碼不正確,請(qǐng)重新輸入!II" 信息提示 ",MessageBoxButtons . OK, MessageBoxIcon. Information ); / 提示對(duì)話(huà)框privatevoid button2_Click ( object
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024正規(guī)商鋪買(mǎi)賣(mài)雙方產(chǎn)權(quán)轉(zhuǎn)移合同3篇
- 2024承包荒山合同范本
- 2024標(biāo)準(zhǔn)商品購(gòu)買(mǎi)意向協(xié)議模板版B版
- 花卉行業(yè)知識(shí)培訓(xùn)課件
- 2025產(chǎn)業(yè)園入駐企業(yè)及產(chǎn)業(yè)園區(qū)環(huán)境監(jiān)測(cè)服務(wù)合同3篇
- 2025版出納員職業(yè)擔(dān)保責(zé)任合同模板3篇
- 2025年科技園區(qū)實(shí)驗(yàn)場(chǎng)地租賃及知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議3篇
- 鄭州軌道工程職業(yè)學(xué)院《中國(guó)現(xiàn)當(dāng)代文學(xué)I》2023-2024學(xué)年第一學(xué)期期末試卷
- 《世紀(jì)人力資源管理》課件
- 班級(jí)安全隱患排查與整改方案計(jì)劃
- 單層鋼結(jié)構(gòu)工業(yè)廠(chǎng)房縱向定位軸線(xiàn)的定位
- STEP7v5.6安裝與授權(quán)說(shuō)明-s75.6秘匙安裝
- 粉體工程第六章粉碎過(guò)程及設(shè)備
- 洪水計(jì)算(推理公式法)
- NS2000變電站綜合自動(dòng)化系統(tǒng)輔助裝置技術(shù)使用說(shuō)明書(shū)(2006-5-25)
- ap系列火焰光度計(jì)說(shuō)明書(shū)
- GMW系列往復(fù)式給料機(jī)說(shuō)明書(shū)
- 集裝箱碼頭堆場(chǎng)項(xiàng)目可行性研究報(bào)告寫(xiě)作范文
- 食堂成本核算方案
- 醫(yī)保藥店一體化信息管理系統(tǒng)操作手冊(cè)
- 一般塑膠產(chǎn)品成品生產(chǎn)工藝流程圖
評(píng)論
0/150
提交評(píng)論