程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#連接數據庫和更新數據庫(1)

C#連接數據庫和更新數據庫(1)

編輯:關於C語言

對數據庫的操作總體可以分為兩類:查詢(select)和更新(insert,delete,update)。為什麼這樣來分 呢?仔細看看兩類的區別,select只是從數據庫中將數據拿出來使用,而其余三者都會對數據庫的物理數 據進行修改。capucivar在上篇文章中已經對數據庫的查詢操作進行了詳細的闡述。這篇文章將接著闡述 更新數據。

更新數據庫信息首先是連接數據庫,這個capucivar在《C#連接數據庫之查詢數據庫》中已有介紹了。 對數據庫的更新需要一個對象:OleDbCommand。該對象表示要對數據源執行的SQL語句或存儲過程。

這個對象有三個屬性:1、CommandText表示要設置命令的文本;2、Connection表示要設置命令的連接 ;3、CommandType表示設置命令的類型,默認的是Sql語句(但如果不是執行sql語句,就一定要指定命令 的類型)。OleDbCommand對象設置好以後,就該執行sql語句了。方法ExecuteNonQuery()就是執行sql語 句。如果記不住這個方法,教你一個簡單的記法:將“ExecuteNonQuery”單詞分為三部分,就是“執行 不查詢”,那就是更新數據了。

下面就做一個例子熟悉對數據庫的更新:

先使用Visual Studio2005做出如下界面:

界面做好以後就相當於做了一個空殼子。接下來就是往裡邊添加事件了。我們還要借用上篇文章中的 ConnDb類,在該類裡添加一個方法:update()對數據庫進行更新,該方法裡有一個參數string sql。

public class ConnDb

    { OleDbConnection conn = null;//連接數據庫的對象

//下面是構造函數連接數據庫

        public ConnDb()

        { if (conn==null)//判斷連接是否為空

            {  conn = new OleDbConnection();

            conn.ConnectionString="provider=sqloledb.1;data source=.;initial catalog=capucivar;user id=sa;pwd=";//連接數據庫的字符串 }

            if (conn.State == ConnectionState.Closed)

            {  conn.Open();//打開數據庫連接

            } }

//下面這個方法是從數據庫中查找數據的方法

        public DataSet query(string sql)

        { DataSet ds = new DataSet();//DataSet是表的集合

            OleDbDataAdapter da = new OleDbDataAdapter(sql,conn);//從數據庫中查 詢

            da.Fill(ds);//將數據填充到DataSet

            connClose();//關閉連接

            return ds;//返回結果

        }

//下面的方法是對數據庫進行更新

        public int update(string sql)

        {OleDbCommand oc = new OleDbCommand();//表示要對數據源執行的SQL語句或存儲過 程

            oc.CommandText = sql;//設置命令的文本

            oc.CommandType = CommandType.Text;//設置命令的類型

            oc.Connection = conn;//設置命令的連接

            int x=oc.ExecuteNonQuery();//執行SQL語句

            connClose();//關閉連接

            return x;   //返回一個影響行數

        }

//下面的connClose()方法是關閉數據庫連接

 public void connClose()

 { if (conn.State == ConnectionState.Open)

            {//判斷數據庫的連接狀態,如果狀態是打開的話就將它關閉

                conn.Close();
    }
   }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved