對資料庫的操作總體可以分為兩類:查詢(select)和更新(insert,delete,update)。為什麼這樣來分呢?仔細看看兩類的區別,select只是從資料庫中將資料拿出來使用,而其餘三者都會對資料庫的物理資料進行修改。這篇文章將接著闡述更新資料。
更新資料庫資訊首先是連線資料庫,對資料庫的更新需要乙個物件:oledbcommand。該物件表示要對資料來源執行的sql語句或儲存過程。
這個物件有三個屬性:1、commandtext表示要設定命令的文字;2、connection表示要設定命令的連線;3、commandtype表示設定命令的型別,預設的是sql語句(但如果不是執行sql語句,就一定要指定命令的型別)。oledbcommand物件設定好以後,就該執行sql語句了。方法executenonquery()就是執行sql語句。如果記不住這個方法,教你乙個簡單的記法:將「executenonquery」單詞分為三部分,就是「執行不查詢」,那就是更新資料了。
下面就做乙個例子熟悉對資料庫的更新:
先使用visual stu做出如下介面:
介面做好以後就相當於做了乙個空殼子。接下來就是往裡邊新增事件了。我們還要借用上篇文章中的conndb類,在該類裡新增乙個方法:update()對資料庫進行更新,該方法裡有乙個引數string sql。
public class conndb
if (conn.state == connectionstate.closed)
}//下面這個方法是從資料庫中查詢資料的方法
public dataset query(string sql)
//下面的方法是對資料庫進行更新
public int update(string sql)
//下面的connclose()方法是關閉資料庫連線
public void connclose()
} }對資料庫的操作類寫好了。然後就來實現增刪改的功能:
理一下思路,先新增乙個使用者,如何編寫**:1、得到客戶所填的資料(使用者名稱和密碼);2、編寫insert語句,將使用者資訊通過conndb()類新增到資料庫中;3、返回乙個影響行數以便通知客戶執行是否成功。**如下:
private void add_but_click(object sender, eventargs e)
','')",uname,upass);//拼寫sql語句將該使用者資訊插入到資料庫中
int x = new db.conndb().update(sql);//通過conndb()物件的update()方法執行sql語句並返回乙個影響行數
if (x > 0)
else }
新增乙個使用者之後,在右邊的listbox中顯示出來:
public void refurbish()
執行結果如下:
而當客戶選中右邊的listbox中的乙個選項時,可以進行相應的刪除或修改。刪除的**如下:
private void del_but_click(object sender, eventargs e)
'",uname);//拼寫sql語句刪除使用者
intvgsyvy x = new db.conndb().update(sql);//呼叫update()方法返回影響行數
vgsyvy if (x > 0)
else }
刪除之後的結果如下:
在點選「更新」按鈕之後,應該彈出乙個視窗顯示客戶所選使用者的資訊供客戶更新。更新的**如下:
private void upa_but_click(object sender, eventargs e)
upd.cs的**如下:
public partial class upd : form
public upd(string uname)//有參建構函式
'", uname);//拼寫sql語句通過使用者名稱查詢使用者的資訊
dataset ds = new db.conndb().query(sql);
//下面得到結果集中的資訊分別放至相應文字框中
this.uid_text.text = ds.tables[0].rows[0][0].tostring(); this.upass_text.text = ds.tables[0].rows[0][2].tostring();
}private void button1_click(object sender, eventargs e)//點選「確認修改」按鈕所響應的事件
',userpass='' where uid=",uname,upass,uid);//拼寫乙個修改sql語句
int x = new db.conndb().update(sql);//返回所受影響行數
if (x > 0)
else }
private void button2_click(object sender, eventargs e) }}
修改的結果如下:
在每次對資料庫進行修改之後,介面右邊的listbox中的資料就會更新一次,所以每次對資料庫操作之後都應該呼叫refurbish()方法。乙個簡單的使用c#對資料庫進行增刪改查的**就寫完了。
**寫的很簡單,只是完成了最簡單的增刪改查功能,大家可以動手操作將上述的**更加完善!
本文標題: c#連線資料庫和更新資料庫的方法
本文位址:
C 連線資料庫的方法
class cadoconn cadoconn cadoconn bool cadoconn openadoconn const char puser,const char ppsw,const char pdb,const char psrc trycatch com error e putmsg...
C 連線資料庫
using system using system.data using system.data.sqlclient using system.windows.forms namespace testc public void open catch exception e public void c...
c 連線資料庫
根據查詢結果儲存在資料庫伺服器端還是本地客戶端,可分兩種連線資料庫的方式 那麼這兩種方式的好壞 查詢結果儲存在資料庫伺服器 之所以要儲存在資料庫伺服器端,是因為一旦查詢結果資料量大,如果儲存在本地會占用大量的記憶體,所以該方式的優點是不佔記憶體。但對 於 資料量小情況下,還要時刻與資料庫保持連線,一...