試談對(duì)數(shù)據(jù)庫(kù)的操作_第1頁(yè)
試談對(duì)數(shù)據(jù)庫(kù)的操作_第2頁(yè)
試談對(duì)數(shù)據(jù)庫(kù)的操作_第3頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論