[經驗交流]

[c#][教學] c sharp與access的溝通方法

[c#][教學] c sharp與access的溝通方法


由於最近開始撰寫相關於c#與Access溝通的問題,之前也在板上提過問題,感謝大大的解答
所以分享自己的心得給大家做參考^^



* 《SELECT操作(尋找)》

using System.Data;
using System.Data.OleDb;
---------------------------
//Data Source=後面接上access存放的絕對位子

OleDbConnection thisConnection=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\AccessDB\db.mdb;");
thisConnection.Open();//開啟與access建立的連線
==== 上面建立連線方法皆相同,後面說明忽略 ====
OleDbCommand thisCommand=thisConnection.CreateCommand();
thisCommand.CommandText="SELECT * FROM notes";SQL語法,其中notes為table name
OleDbDataReader thisReader=thisCommand.ExecuteReader();//建立OleDbDataReader用來存放從Access裡面讀取出來的資料
while(thisReader.Read())
        {
        Console.WriteLine("\t{0}\t{1}",thisReader["ID"],thisReader["TheName"]);
        }其中的"ID"是Access裡面的欄位名,"TheName同義"
thisReader.Close();//關閉OleDbDataReader
thisConnection.Close();//關閉OleDbConnection連線,即關閉與Access連線


* 《UPDATE操作(更新)》

//首先建立連線,方法同上
string sqlstr="";
//本處是UPDATE語句,即是我們要用來Update的地方!

//Item為我建立的一個Class
sqlstr = "UPDATE notes SET ";
sqlstr += "Sky='" + Item.TenGun + "',";
sqlstr += "Earth='" + Item.Diz + "',";
sqlstr += "Night='" + Item.Night + "',";
sqlstr += "Five='" + Item.Five + "',";
sqlstr += " where Num=" + Item.Number;

//定義command對象,並執行相應的SQL語句
OleDbCommand myCommand = new OleDbCommand(sqlstr,thisConnection);
/執行SELECT的時候我們是用的ExecuteReader()
myCommand.ExecuteNonQuery();
conn.Close();


* 《INSERT》(新增)


//首先建立連線,方法同上

//設置SQL語句
string insertstr="INSERT INTO notes(title, author, posttime) VALUES ('";

//note為我建立的一個Class
insertstr += note.title +"', '";
insertstr += note.author + "','";
insertstr += note.posttime +"')";

OleDbCommand insertcmd = new OleDbCommand(insertstr,thisConnection) ;
insertcmd.ExecuteNonQuery() ;

conn.Close();


* 《DELETE》(刪除)


//首先建立連線,方法同上

//定義SQL語法,其中Item.id為欲刪除的id
sqlstr = "delete * from notes where id=" + Item.id;

//定義command對象,並執行相應的SQL語句
OleDbCommand myCommand = new OleDbCommand(sqlstr,thisConnection);
myCommand.ExecuteNonQuery();
conn.Close();

************

[ 本帖最後由 李斯特霍華 於 2008-12-2 21:54 編輯 ]
喜歡這篇文章嗎?
回覆 2
您需要登入後才可以回帖 登入 | 註冊會員

本版積分規則 回覆 15 個字以上可拿獎勵,
規則詳見此

提示訊息
go_top