作者:L爱你j_828 | 来源:互联网 | 2023-06-28 09:42
在.net中使用ADO.net更新数据库的方法有两种,一种是直接更新数据源,另一种是先更新数据集,再通过数据适配器的update方法更新数据源。先介绍一下比较简单的一种,通过数
在.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()
如果涉及的存储过程在数据库中不存在,代码将给出一个错误。