ADO.net實現資料更新(一)

Liuwei-Sunny發表於2006-09-29

        在.net中使用ADO.net更新資料庫的方法有兩種,一種是直接更新資料來源,另一種是先更新資料集,再通過資料介面卡的update方法更新資料來源。

    先介紹一下比較簡單的一種,通過資料命令直接更新資料來源。在實際的.net專案中這種方法使用比較廣泛,一般在下面兩種情況下適合直接更新資料來源:
一、如果不是直接使用SQL語句而是通過儲存過程來實現資料更新;
二、實時的資料更新,要求資料庫對資料更新的反應迅速。

下面是通過資料命令直接更新資料來源的程式碼:
        Dim conn As New SqlConnection
       Dim cmd As New SqlCommand
        conn.ConnectionString = "server=localhost;database=Pub;user id=sa;password="
        conn.Open()
        cmd.Connection = conn
        cmd.CommandType=CommandType.Text
        cmd.CommandText = "delete from authors where au_lname=@au_lname"
        cmd.Parameters.Add("@au_lname",textbox1.text)
       '返回值是受影響的行數
        Dim result As Integer
       result=cmd.ExecuteNonQuery()
      
conn.Close()
 
如果使用儲存過程:
在資料庫中建立儲存過程DeleteLname
Create proc DeleteLname (@au_lname varchar(40))
as delete from authors where au_lname=@au_lname


        Dim conn As New SqlConnection
       Dim cmd As New SqlCommand
        conn.ConnectionString = "server=localhost;database=Pub;user id=sa;password="
        conn.Open()
        cmd.Connection = conn
        cmd.CommandType=CommandType.StoreProcedure
        cmd.CommandText = "DeleteLname"    '儲存過程名
        cmd.Parameters.Add("@au_lname",textbox1.text)  '傳遞引數到儲存過程,要保證變數名一致
       '返回值是受影響的行數
        Dim result As Integer
       result=cmd.ExecuteNonQuery()
     conn.Close()

如果涉及的儲存過程在資料庫中不存在,程式碼將給出一個錯誤。

      

 


相關文章