C# BETA2中操作ACCESS資料庫(二) (轉)
BETA2中操作ACCESS(二)
上次說了如何在中“”語句,這次我們看看,如何執行“DELETE、UPDATE、INSERT”等語句。
我們這次同樣透過例子來看,其中我們用到了System.Data.Ole.OleDbCommand類,其實,我們在前面執行SELECT的時候也用到了!
下面我寫出我的:
//修改留言本中特定的資料
public Boolean UpdateNote(Notebook note)
{
Boolean tempvalue=false;
string str=""; //當時在這裡定義,是為了在出現異常的時候看看我的SQL語句是否正確
try
{
//用到了我前面寫的那個得到資料庫連線的
OleDbConnection conn = getConn(); //getConn():得到連線,
conn.Open();
//確定我們需要執行的SQL語句,本處是UPDATE語句!
sqlstr = "UPDATE notes SET ";
sqlstr += "title='" + note.title + "',";
sqlstr += "content='" + DealString(note.content) +"',";
sqlstr += "author='" + note.author + "',";
sqlstr += "e='" +note. +"',";
sqlstr += "http='" +note.http +"'";
//sqlstr += "pic='" +note.pic +"'";
sqlstr += " where id=" + note.id;
//定義command物件,並執行相應的SQL語句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery(); //執行SELECT的時候我們是用的ExecuteReader()
conn.Close();
//假如執行成功,則,返回TRUE,否則,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("資料庫出錯:" + sqlstr + "r" + e.Message)) ;
}
}
這個例子是對於特定ID好的記錄進行UPDATE操作,具體解釋我都寫在了程式中,其中的與資料庫有關的語句是try內部的那些!
其實,我們同樣可以透過上面的那種執行INSERT、DELETE操作,下面我把我的程式列到下面!
/*刪除特定記錄,透過string型別的ID刪除欄位,在我的程式中,我把這個函式過載了,這樣我們就可以透過INT型別的ID引數來刪除特定的欄位了*/
public Boolean DelNote(string delid)
{
Boolean tempvalue=false;
string sqlstr="";
//連線資料庫
try
{
OleDbConnection conn = getConn(); //getConn():得到連線物件
conn.Open();
sqlstr = "delete * from notes where id=" + delid;
//定義command物件,並執行相應的SQL語句
OleDbCommand myCommand = new OleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery();
conn.Close();
//假如執行成功,則,返回TRUE,否則,返回FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exception e)
{
throw(new Exception("資料庫更新出錯:" + sqlstr + "r" + e.Message)) ;
}
}
細心的朋友們應該能看到,其實這個程式和上面的相比,只是哪個SQL語句不同而已,其他的都基本一樣的!同樣的,我們想在資料庫中插入新的記錄的時候也可以用這樣的方式,程式如下:
//向留言本中新增資料
public Boolean AddNote(Notebook note)
{
Boolean tempvalue=false; //定義返回值,並設定初值
//下面把note中的資料新增到資料庫中!
try{
OleDbConnection conn = getConn(); //getConn():得到連線物件
conn.Open();
//設定SQL語句
string insertstr="INSERT INTO notes(title, content, author, email, http, pic ,hits,posttime) VALUES ('";
insertstr += note.title +"', '";
insertstr += DealString(note.content) + "','";
insertstr += note.author + "','";
insertstr += note.email + "','";
insertstr += note.http + "','";
insertstr += note.pic + "',";
insertstr += note.hits + ",'";
insertstr += note.posttime +"')";
OleDbCommand insertcmd = new OleDbCommand(insertstr,conn) ;
insertcmd.ExecuteNonQuery() ;
conn.Close();
tempvalue=true;
}
catch(Exception e)
{
throw(new Exception("資料庫出錯:" + e.Message)) ;
}
return(tempvalue);
}
//處理資料,在把資料存到資料庫前,先遮蔽那些危險字元!
public string DealString(string str)
{
str=str.Replace("str=str.Replace(">",">");
str=str.Replace("r","
");
str=str.Replace("'","’");
str=str.Replace("x0020"," ");
return(str);
}
//恢復資料:把資料庫中的資料,還原成未處理前的樣子
public string UnDealString(string str)
{
str=str.Replace("str=str.Replace(">",">");
str=str.Replace("
","r");
str=str.Replace("’","'");
str=str.Replace(" ","x0020");
return(str);
}
我同時列出了兩個函式UnDealString()和DealString( ),他們是對與輸入內容做一些事先的處理和還原工作的!
這幾個程式因為都比較簡單,所以我就不多說了!
其實,我這樣的對資料庫操作也只是ADO。NET中的一部分,而透過DataSet來操作我現在還沒有仔細研究過,所以我也不能寫出什麼東西來,以後的這幾天我就準備好好看看那個東西了,到時候,我還會把我的感受寫出來和大家分享!
在補充一下,我前面用到的程式都是我在寫一個留言本的測試程式時候用到的!如果有朋友有興趣的話,我將貼出我的全部學習程式碼!
好了,我要開始我的事情了!下次再見!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991251/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# BETA2中操作ACCESS資料庫 (轉)C#資料庫
- C# BETA2中操作ACCESS資料庫(三) (轉)C#資料庫
- C# 操作 access 資料庫C#資料庫
- C#的Access資料庫操作 AccessHelper類C#資料庫
- ACCESS資料庫C#操作類(包含事務)資料庫C#
- 不用JDBC:ODBC bridge直接操作Access 資料庫 (轉)JDBC資料庫
- 轉發:C#操作SQL Server資料庫C#SQLServer資料庫
- 【Rosion L.X】ASP.NET[C#]的ACCESS資料庫操作類ROSASP.NETC#資料庫
- 直接通過ADO操作Access資料庫資料庫
- 使用元件封裝資料庫操作(二) (轉)元件封裝資料庫
- 用ASP.NET/C#連線Access和SQL Server資料庫 (轉)ASP.NETC#SQLServer資料庫
- C#下資料庫程式設計(二) (轉)C#資料庫程式設計
- 使用C#語言操作ADO資料庫 (轉)C#資料庫
- 在ASP中壓縮ACCESS資料庫資料庫
- ACCESS資料庫防止下載大盤點 (轉)資料庫
- c#資料操作:資料庫訪問 和 檔案操作C#資料庫
- 連線資料之遠端呼叫Access資料庫(轉)資料庫
- ABAP資料庫操作(轉)資料庫
- C#:資料庫SQL操作通用類C#資料庫SQL
- Access資料庫日常維護和Access資料庫最佳化方法資料庫
- [資料庫連線字串] Access 連線字串(轉)資料庫字串
- [資料庫連線字串]Access連線字串(轉)資料庫字串
- 在C、JAVA、PHP中操作postgreSql資料庫 (轉)JavaPHPSQL資料庫
- ASP.NET中防止Access資料庫下載ASP.NET資料庫
- 資料庫學習(二)資料操作語言:資料庫
- 把ACCESS的資料匯入到Mysql中(轉)MySql
- 資料庫結構操作 (轉)資料庫
- 資料庫操作(1.0.0.1)(續) (轉)資料庫
- 把Access轉成SQL資料庫的方法介紹SQL資料庫
- SQL Server連線ACCESS資料庫的實現 (轉)SQLServer資料庫
- 無限級樹資料庫版(ASP+ACCESS) (轉)資料庫
- Access 匯入 oracle 資料庫Oracle資料庫
- PHP 連線access資料庫PHP資料庫
- java連線access資料庫Java資料庫
- C#操作Access的一些小結C#
- java語言操作Oracle資料庫中的CLOB資料型別 (轉)JavaOracle資料庫資料型別
- C#快速搭建模型資料庫SQLite操作C#模型資料庫SQLite
- C#/Python/MATLAB操作PostgreSQL資料庫C#PythonMatlabSQL資料庫