首页后端开发ASP.NETexecutenonquery 的用法详解

executenonquery 的用法详解

时间2024-01-31 11:22:03发布访客分类ASP.NET浏览214
导读:收集整理的这篇文章主要介绍了executenonquery 的用法详解,觉得挺不错的,现在分享给大家,也给大家做个参考。executenonquery 的用法详解C#中操作数据库技术之ExecuteNonQuery用法最近在补基础知识,刚好...
收集整理的这篇文章主要介绍了executenonquery 的用法详解,觉得挺不错的,现在分享给大家,也给大家做个参考。

executenonquery 的用法详解

C#中操作数据库技术之ExecuteNonQuery用法

最近在补基础知识,刚好补到C#中对数据库操作的一些技术,今天学习了ExecuteNonQuery的东西,看自己项目维护项目的代码和网上资料查询,基本上搞懂了ExecuteNonQuery的用法,小小的做个总结,供以后查阅。

ExecuteNonQuery方法主要用来更新数据,当然也可以用来执行目标操作(例如查询数据库的结构或者创建诸如表等的数据库对象)。通常用它来执行insert、update、delete语句,在不使用Dataset的情况下更改数据库中的数据。select语句不适合ExecuteNonQuery()方法。

推荐《C++视频教程》

一、首先,来看看ExecuteNonQuery的返回值:

1. 对于Update、insert、Delete语句执行成功是返回值为该命令所影响的行数,如果影响的行数是0,则返回值就是0;

2. 对于所有其他类型的语句,返回值为-1;

3. 如果发生回滚,返回值也为-1;

4. 我们一般对于更新操作,通过判断返回值是否大于0,这个是没有问题的。但是对于其他的操作【如对数据结构的操作(建表等)】如果操作成功返回值却是-1,但是要注意一下啊,例如给数据库添加一个新表,创建成功返回-1,如果操作失败就会发生异常,所有执行这种操作最好用Try,Catch语句来捕捉异常。

二、 command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,步骤如下:

1. 创建数据库连接;

2. 创建Command对象,并指定一个SQL Inser、Update、Delete查询或者存储过程;

3. 把Command对象依附到数据库连接上;

4. 调用ExecuteNonQuery()方法;

5. 关闭连接。

三、代码示例使用方法:

1. 首先是一个很简单的类,里面提供了如何用command对象通过ExecuteNonQuery方法跟新数据库。

public class ExecuteNonQueryClas    {
            PRivate static string connectionString = configurationManager.ConnectionStrings["connectionString"].ConnectionString;
        //as this method provided static method, set the constructor to priviate to prevent create instance wITh 'new ExecuteNonQuery()'        private ExecuteNonQueryClas()        {
        }
        public static int ExecuteNonQuery(string commandText)        {
                return ExecuteNonQuery(commandText, (SqlParameter[])null);
        }
        public static int ExecuteNonQuery(string commandText,SqlParameter[] commandParams)        {
                //if connectionString is null, then throw exception            if(connectionString == null || connectionString.Length == 0)                throw new argumentNullException("connectionString");
                        using(SqlConnection conn = new SqlConnection(connectionString))            {
                    SqlCommand cmd = new SqlCommand(commandText,conn);
                    if (conn.State != ConnectionState.OPEn)                    conn.Open();
                    //check if the commandParams is not null, then attach params to command                if(commandParams !=null)                  AttachParameters(cmd,commandParams);
                    int recordsAffected = cmd.ExecuteNonQuery();
                    return recordsAffected;
            }
        }
        private static void AttachParameters(SqlCommand cmd,SqlParameter[] commandParams)        {
                if (cmd == null) throw new argumentException("command");
            if (commandParams != null)            {
                foreach (SqlParameter p in commandParams)                {
                    if (p != null)                    {
                            //// Check for derived output value with no value assigned                        if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) &
    &
 (p.Value == null))                        {
                                p.Value = DBNull.Value;
                        }
                            cmd.Parameters.Add(p);
                    }
                }
            }
        }
    }
    

2. 在主函数中的调用:

static void Main(string[] args)        {
                string userName = Console.ReadLine();
                string loginId = "user";
                string sqlString = "update Users set UserName = @name where LOGinID= @loginID";
            SqlParameter[] parms ={
                                      new SqlParameter("@name",userName),                                      new SqlParameter("@loginID",loginId)                                                                         }
    ;
                int rlt = ExecuteNonQueryClas.ExecuteNonQuery(sqlString,parms);
                Console.WriteLine(rlt);
                Console.Read();
        }
    

好啦, 上面就是使用ExecuteNonQuery方法最简单的介绍和示例。

以上就是executenonquery 的用法详解的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: c语言求x的n次方的函数是什么下一篇:c语言程序是从源文件第一条语句开...猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: executenonquery 的用法详解
本文地址: https://pptw.com/jishu/593894.html
深入浅析Nodejs中的net模块 c语言二进制怎么转换十进制

游客 回复需填写必要信息