.net 更新access数据库 影响的行数为0

在更新Access数据库的时候,明明传入的数据及参数类型都正确,但是一直更新不了,查看影响的行数一直为0

此原因为 C#操作Access数据库的时候更新的参数和条件参数要按照更新语句中的顺序进行设置,如果设置不正确,则会出现以上问题

 1 update TPersonnel
 2    set pname=@pname,
 3        shenfhm=@shenfhm,
 4        sex=@sex,
 5        phone=@phone,
 6        weixing=@weixing,
 7        pid=@pid,
 8        email=@email,
 9        address=@address,
10        editer=@editer,
11        editdate=@editdate
12  where id=@id

就像上面的样子,@id这个参数要在所有的参数最后面,也就是说条件参数要在更新参数后面

原文地址:https://www.cnblogs.com/zbspace/p/8963788.html

时间: 2024-10-07 02:11:15

.net 更新access数据库 影响的行数为0的相关文章

SQL Server返回插入数据的ID和受影响的行数

首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: 1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 values('013','卫庄','男','185'); 3 4 select @@IDENTITY -- 返回 17 @@IDENTITY可以返回当前连接所有范围内插入最后所生成的标识值(包括任何调用的存储过程和触发器).这个函

PostgreSQL获取操作影响的行数

如何来获取普通的操作所影响的行数,PostgreSQL里面有一个内置的变量DIAGNOSTICS与ROW_COUNT可以做到这一点. 一.环境: DB:9.4beta3 二.准备: postgres=# create table test(id int); CREATE TABLE postgres=# insert into test select generate_series(1,20); INSERT 0 20 postgres=# select * from test; id ----

mysql执行update语句受影响行数是0

mybatis连接mysql数据库,发现同一个update执行多次,返回的int值都是1. 我记得同样的update再次执行时 受影响行数是0. 后来发现,我之前一直用的SQLyog是这样子的. 原来,不同的连接客户端执行update给出的受影响行数不同. 对于再次返回0,网上的资料是,MySQL 为了提升性能,当它发现要执行的修改内容与数据库中完全一致时,对它而言,此时修改是毫无意义的,反而会消耗一次执行修改的性能,于是它就不再做修改,因而受影响行数就是0. 至于mybatis,网上有说myb

mysql 存储过程:提供查询语句并返回查询执行影响的行数

mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREATE PROCEDURE `test_cases`.`p_get_select_row_number`(IN p_select_sql VARCHAR(200), OUT p_count INT(8) ) BEGIN -- 声明 DECLARE cnt INT DEFAULT 0; DECLARE s

EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); } 二 : Database.SqlQuery<T>   EF5执行sql查询语句

SQLCommand.ExecutenonQuery受影响的行数为什么会是-1?

一般我们在执行SQL语句的时候会调用ExecuteNonQuery();然后用一个声明一个int值接受这个受影响的行数,通过判断这个int值,我们可以得知这条SQL语句是否已经执行.通常我们判断就是这个int值大于0,因为我们知道,最起码受影响的行数是1,我们判断大于0就OK了,但是在运行时我们发现我们判断的语句的值为false,为什么呢?最后查了一下MSDN文档,看完解释就明白了. 对于 UPDATE.INSERT 和 DELETE 语句,返回值为该命令所影响的行数.对于所有其他类型的语句,返

sql语句影响的行数

全局变量@@RowCount 和函数RowCount_Big()用于返回上一条语句影响的行数.如果行数大于 20 亿,则需要使用ROWCOUNT_BIG(). 1,ROWCOUNT_BIG(): Following a SELECT statement, this function returns the number of rows returned by the SELECT statement. Following an INSERT, UPDATE, or DELETE statemen

将mysql某个数据库中表的行数从大到小排序

随着公司的业务越来越大,工作中需要对某一个数据库的表进行分表,为了做的更细致一点,在该数据库中,将所有表,按行数从到小排序: 实现方式: mysql> use information_schema; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mys

MySQL通过触发器解决数据库中表的行数限制的需求

最近项目一个需求是对操作日志的数量限制为10万条,超过十万条便删除最旧的那一条,保存数据库中日志数量不超过10万. 当时我的第一想法是通过触发器来做,便在数据库中执行了如下的SQL: delimiter $ create trigger limitLog before insert on OperationLog for each row begin if (select count(*) from OperationLog) > 100000 then delete from Operatio