• ExecuteNonQuery()


    在看程序的过程中,遇到此函数,从网上查了查看到比较详细的讲解,现放到这里以供参考。

    下面我们将详细讲解如何在

    Page_Load()

    中对数据库的增加、删除、修改,最后

    我们再来总结一下

    ExecuteNonQuery(),ExecuteScalar(),ExecuteReader

    的用

    法:

    1

    增加新的记录

    private

    void

     Page_Load(

    object

     sender, System.EventArgs e)

    {

    MyConnection.Open();’打开数据库

    MyCommand1.CommandText =

    "insert into admin values(‘aaddq‘,‘as‘,‘ss‘)";

    MyCommand1.Connection = MyConnection;

    MyCommand1.ExecuteNonQuery();’由于增加了一条记录,所以返回1

    //或者MyCommand1.ExecuteReader();先增加一条记录,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF

    //或者MyCommand1. ExecuteScalar();先增加一条记录,返回未实列化的对象

    MyConnection.Close();

    }

    2

    删除现有数据

    private

    void

     Page_Load(

    object

     sender, System.EventArgs e)

    {

    MyConnection.Open();’打开数据库

    MyCommand1.CommandText =

    "delete * from admin"

    ;

    MyCommand1.Connection = MyConnection;

    MyCommand1.ExecuteNonQuery();’由于删除了

    n

    条记录,所以返回

    n

    //

    或者

    MyCommand1.ExecuteReader();

    先删除

    n

    条记录,然后返回一个

    System.

    Data.OleDb.OleDbDataReader

    类型的对象,该对象为

    :EOF

    //

    或者

    MyCommand1. ExecuteScalar();

    先删除

    n

    条记录,返回未实列化的对象

    MyConnection.Close();

    }

    3

    修改现有数据

    private

    void

     Page_Load(

    object

     sender, System.EventArgs e)

    {

    MyConnect

    ion.Open();’打开数据库

    MyCommand1.CommandText =

    "update admin set admin_code=’212’,Admin_p

    wd=’43’ where admin_code=’23’"

    ;

    MyCommand1.Connection = MyConnection;

    MyCommand1.ExecuteNonQuery();’由于修改了1条记录,所以返回n

    //

    或者

    MyCommand1.ExecuteReader();

    先修改了

    1

    条记录,然后返回一个

    Syste

    m.Data.OleDb.OleDbDataReader

    类型的对象,该对象为

    :EOF

    //

    或者

    MyCommand1. ExecuteScalar();

    先修改了

    1

    条记录,返回未实列化的对

    MyConnection.Close();

    }

    三、关于

    MyCommand

    ExecuteNonQuery(),ExecuteScalar(),ExecuteReader

    方法的区别

    :

    1

    ExecuteNonQuery():

    执行

    SQL

    ,返回一个整型变量,如果

    SQL

    是对数据库的

    记录进行操作,那么返回操作影响的记录条数,如果是

     SQL="CREATE TABLE

    LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED,

    code_desc varchar(50) NOT NULL)"

    那么在表创建成功后该方法返回

    1

    例如:

    private void Page_Load(object sender, System.EventArgs e)

    {

    MyConnection.Open();’打开数据库

    MyCommand1.CommandText = "CREATE TABLE LookupCodes (code_id smallint

    IDENTITY(1,1) PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"

    MyCommand1.Connection = MyConnection;

    MyCommand1.ExecuteNonQuery();’首先建立一个

    LookupCodes

    表,然后返回

    -1

    //

    或者

    MyCommand1.ExecuteReader();

    首先建立一个

    LookupCodes

    表,

    然后返回

    一个

    System.Data.OleDb.OleDbDataReader

    类型的对象,该对象为

    :EOF

    //

    或者

    MyCommand1. ExecuteScalar();

    首先建立一个

    LookupCodes

    表,返回未

    实列化的对象

    MyConnection.Close();

    2

     ExecuteScalar()

    :执行

    SQL

    ,(如果

    SQL

    是查询

    Select

    )返回查询结果的

    第一行第一列,如果(如果

    SQL

    不是查询

    Select

    )那

    么返回未实列化的对象,

    因为对象未实列化,

    所以返回结果不能

    ToString(),

    不能

    Equals(null)

    也就是

    说返回结果没有任何作用

    3

     executeReader

    方法执行

    SQL

    ,(如果

    SQL

    是查询

    Select

    )返回查询结果的

    集合,

    类型是

     System.Data.OleDb.OleDbDataReader

    你可以通过此结果,

    获取

    查询的数据。如果(如果

    SQL

    不是查询

    Select

    )那么

    返回一个没有任何数据的

    System.Data.OleDb.OleDbDataReader

    类型的集合

    (EOF)

    四、总结:

    ASP.Net

    中对于数据库的操作方法很多,

    要实现统一个目标不同的人可能会采取

    不同的方法,

    就好像在

    ASP

    中有的人喜欢用

    RS.ADDNEW

    有的人喜

    欢用”Insert

    Into”,

    主要是看个人的习惯,

    当然在性能上不同的方法可能会存在较大的差别,

    这个只能靠我们在平常的学习中一点一滴的积累经验的。另外顺便说一下

    ASP.Net

    页提供类似如下方式的操作方法:

    OleDbCommand2.Parameters(

    "au_id"

    ).Value = TextBox1.Text

    OleDbCommand2.Parameters(

    "au_lname"

    ).Value = TextBox2.Text

    OleDbCommand2.Parameters(

    "au_fname"

    ).Value = TextBox3.Text

    OleDbCommand2.Parameters(

    "phone"

    ).Value = TextBox4.Text

    OleDbCommand2.Parameters(

    "address"

    ).Value = TextBox5.Text

    OleDbCommand2.Parameters(

    "city"

    ).Value = TextBox6.Text

    OleDbCommand2.Parameters(

    "st"

    ).Value = TextBox7.Text

    OleDbCommand2.Parameters(

    "zip"

    ).Value = TextBox8.Text

    OleDbCommand2.Parameters(

    "contract"

    ).Value = CheckBox1.Checked

    cmdresults = OleDbcommand2.ExecuteNonQuery()

  • 相关阅读:
    asp.net 中input radio checked 无效
    AD对象DirectoryEntry本地开发
    Linux部署
    spring 定时任务配置使用
    闲言碎语
    javascript 折后保留一位小数
    JSON 实力应用
    水晶报表(crystal report )中显示CheckBox
    html 笔记
    转载-js按回车键实现登陆-myself
  • 原文地址:https://www.cnblogs.com/lxxhome/p/2915199.html
Copyright © 2020-2023  润新知