mysql中有execute_jdbc连接mysql数据库
最近在补基础知识,刚好补到C#中对数据库操作的一些技术,今天学习了ExecuteNonQuery的东西,看自己项目维护项目的代码和网上资料查询,基本上搞懂了ExecuteNonQuery的用法,小小的做个总结,供以后查阅。
ExecuteNonQuery方法主要用来更新数据,当然也可以用来执行目标操作(例如查询数据库的结构或者创建诸如表等的数据库对象)。通常用它来执行insert、update、delete语句,在不使用Dataset的情况下更改数据库中的数据。select语句不适合ExecuteNonQuery()方法。
一、首先,来看看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 classExecuteNonQueryClas
{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()’
privateExecuteNonQueryClas()
{
}public static int ExecuteNonQuery(stringcommandText)
{return ExecuteNonQuery(commandText, (SqlParameter[])null);
}public static int ExecuteNonQuery(stringcommandText,SqlParameter[] commandParams)
{//if connectionString is null, then throw exception
if(connectionString == null || connectionString.Length == 0)throw new ArgumentNullException(“connectionString”);using(SqlConnection conn = newSqlConnection(connectionString))
{
SqlCommand cmd= newSqlCommand(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();returnrecordsAffected;
}
}private static voidAttachParameters(SqlCommand cmd,SqlParameter[] commandParams)
{if (cmd == null) throw new ArgumentException(“command”);if (commandParams != null)
{foreach (SqlParameter p incommandParams)
{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);
}
}
}
}
}
View Code
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();
}
View Code
好啦, 上面就是使用ExecuteNonQuery方法最简单的介绍和示例。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194762.html原文链接:https://javaforall.cn
相关文章
- 8c 数据库,MySQL数据库5.8以上与以下版本,Oracle数据库实现row_number() over(partition by 分组列 order by 排序列 desc)
- MySQL数据库管理:极致管理体验(mysql数据库管理软件)
- 大MySQL表优化:提升数据量大的表性能(mysql表数据量)
- MySQL Variables query_cache_type 数据库 参数变量解释及正确配置使用
- 使用Node.js连接MySQL数据库(node-mysql)
- MySQL数据库导入的注意事项(mysql数据库导入限制)
- Mysql教程:快速入门你所需要知道的一切(mysql教程)
- 探索冒险岛:MySQL之旅(冒险岛mysql)
- MySQL数据库连接池: 构建高效和可靠的连接(cmysql数据连接池)
- 查看MySQL数据库位数信息(查看mysql位数)
- MySQL 二进制安装指南(mysql二进制安装)
- MySQL 数据库的优势,为什么它是值得拥有的数据库?(mysql数据库好处)
- MySQL培训中心全面教授数据库知识(mysql培训中心)
- 连接MySQL:简单有效的方式(r 如何连接mysql)
- 查看MySQL数据库文件存储位置(查看mysql数据库位置)
- 记录MySQL数据库操作历史:日志分析方法(mysql数据库操作日志)
- MySQL数据库简单导出SQL脚本方法(mysql导出sql脚本)
- MySQL连接数据库指南:快速掌握连接入门技巧(mysql如何连接数据库)
- 探究MySQL数据库的脏读问题(mysql中允许脏读吗)
- 使用Mysql中的ANY函数实现最值查询(mysql中any取最值)
- MySQL数据库性能优化的两个阶段体检方法(mysql两阶段体检)
- ASP搭配MySQL 配置惊艳不凡(asp连接mysql配置)
- MySQL数据库操作如何快速查询前3行数据(mysql中前3行)
- MySQL三表全连接实用指南(mysql 三表 全连接)
- MySQL数据库连接异常,一旦连接便即停,如何快速有效解决(mysql一链接就停止)
- MySQL怎样对数据库进行评估(mysql_数据库评估)
- MySQL 数据无法写入数据库表格解决方法(mysql不写入数据库)
- 如何在 MySQL 中下载图片简单易懂的指南(mysql 下载图片)
- 解决MySQL下载后无法找到的问题(mysql下载了找不到)
- 解决方法MySQL建立事件失败,如何解决(mysql不能建事件)
- mysql常用数据库语句小练习