热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ADO.net实现数据更新(一)

在.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()

如果涉及的存储过程在数据库中不存在,代码将给出一个错误。

      

 



推荐阅读
author-avatar
L爱你j_828
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有