请问,为什么使用OleDbCommand.ExecuteNonQuery()插入一条记录,插入成功后,返回值还是为0?

问题描述

privatestaticvoidPrepareCommand(OleDbCommandcmd,CommandTypecmdType,stringcmdText,OleDbParameter[]cmdParms){cmd.CommandType=cmdType;cmd.CommandText=cmdText;if(cmdParms!=null)foreach(OleDbParameterparmincmdParms)cmd.Parameters.Add(parm);}publicstaticintExecuteNonQueryByTransaction(StringconnectionString,CommandTypecmdType,stringcmdText,paramsOleDbParameter[]commandParameters){intval=0;OleDbConnectionconn=newOleDbConnection(connectionString);OleDbCommandcmd=conn.CreateCommand();if(conn.State!=ConnectionState.Open)conn.Open();OleDbTransactiontrans=conn.BeginTransaction();try{PrepareCommand(cmd,cmdType,cmdText,commandParameters);cmd.Transaction=trans;val=cmd.ExecuteNonQuery();trans.Commit();}catch{trans.Rollback();}finally{cmd.Parameters.Clear();conn.Close();conn.Dispose();trans.Dispose();cmd.Dispose();}returnval;}

解决方案

解决方案二:
调试看下返回的val值为多少并且在DB中查看下是否有该记录
解决方案三:
调试查过了val的值为0
解决方案四:
调试查过了val的值为0,但记录已插入成功
解决方案五:
这个方法好像不返回操作记录的数量。,忘了代码了。晚上回家查了原来的代码告诉你

时间: 2024-11-08 19:09:12

请问,为什么使用OleDbCommand.ExecuteNonQuery()插入一条记录,插入成功后,返回值还是为0?的相关文章

三种返回mysql 插入一条记录返回该记录id方法

三种返回mysql教程 插入一条记录返回该记录id方法 方法一 id int(11) not null pri key auto_increment,name varchar(12),backup varchar(50) 现在想插入一条记录的同时,返回他的id值(插入时只是插入name和backup字段的值).请问该如何写这条语句.谢谢! 你的担心完全多于. 不需要锁表, 返回的ID肯定是你的,基于当前连接session 自动返回最后一个INSERT或 UPDATE 问询为 AUTO_INCRE

c#-C#向oracle插入多条记录

问题描述 C#向oracle插入多条记录 我需要把这个 richTextBox2中的5条数据,一行一行的插入到oracle中,命令如下: int linecount = richTextBox2.Lines.Length; for (int o = 0; o <= linecount - 1; o++) { string linestr = ""; linestr = richTextBox2.Lines[o]; OracleConnection con = new Oracle

插入一条记录的语句,显示标准表达式中数据类型不匹配。大家帮我看看那里错了?谢谢

问题描述 在Click事件中插入一条记录.其中quesion表中的queNo字段为数字,queTxt为字符.函数如下,执行的时候提示标准表达式中数据类型不匹配.privatevoidaddQueBtn_Click(objectsender,EventArgse){stringqueNo=addQueTxb.Text;stringqueTxt=addQueRichTxb.Text.Trim().ToString();stringsqlstring="INSERTINTOquesion(queNo,

oracle可以一次性插入多条记录吗?

问题描述 oracle可以一次性插入多条记录吗? 而且数据还是有重复的,比如说要插入一个日期和一个上班状况,日期是主键,数据是:2015-05-10,请假:2015-05-11,请假:2015-05-12,请假.本来用的是insert into ... select...from dual union select......,但是报错违反唯一约束条件 刚开始做.不太会还请指教 解决方案 为什么要用日期当主键啊...不会重复么??? 解决方案二: insert into table(...)se

使用jdbc向数据库插入100000条记录

分别使用statement,PreparedStatement,及PreparedStatement+批处理3种方式进行测试: //1.使用statement插入100000条记录  Java代码   public void exec(Connection conn){      try {       //开始时间      Long beginTime = System.currentTimeMillis();       //设置手动提交       conn.setAutoCommit(

插入一条记录人事专员录入档案信息确认无误后提交,该条档案状态为“待复核”。由人事经理复核后状态变为“正常”

问题描述 插入一条记录人事专员录入档案信息确认无误后提交,该条档案状态为"待复核".由人事经理复核后状态变为"正常"功能怎么实现? 解决方案 解决方案二:我做OA的时候用的是一个流程,若审批流程的最后一个人审核通过,则返回一个End的标示符.根据收到的End标示符回写该单据的状态.解决方案三:用Java语言实现做hR人力资源管理系统

javaweb-探讨个问题:一对一双向关联的表,如何插入一条记录。

问题描述 探讨个问题:一对一双向关联的表,如何插入一条记录. 嗨,大家有空吗?探讨一个问题. 一对一双向关联,要插入一条记录. 举个简单例子.一个班级有一个班主任,一个老师只能任一个班级班主任.(一对一) Teacher表 Class表 id(自增) id(自增) name name classId teacherId 插入一条记录: 思路--> 第一步:先向Teacher插入一条记录.返回新插入的id值.(selectKey) 第二步:再向Class插入一条记录,teacherId=上一步返回

存储-sql 能向表中间插入一条记录吗

问题描述 sql 能向表中间插入一条记录吗 难道只能在表尾插入? 因为现在想实现一个笔记页码的存储,不知如何保证页码号的连续,想使用一条记录来代表一页,使用autoincrement在删除一条记录的时候页码不会自动连续,就想直接不用页码,但是怎么能向表中插入一条记录? 或者其他的实现思路? 解决方案 你的表结构不合理.你希望插入中间,你的数据库的表结构应该类似链表 id preid(上一条记录id) data 解决方案二: 或者还有一个办法,增加一个排序码浮点字段 中间插入,就取两个id差的1/

请教大师帮助解决gridview的多条记录插入数据库

问题描述 请教大师帮助解决gridview的多条记录插入数据库 我的代码对吗? for (int i = 0; i < gridView1.RowCount - 1; i++) { zxpj.CLMC = Convert.ToString(gridView1.GetRowCellValue(i,gridView1.Columns[0].ToString())); zxpj.INKSL = Convert.ToInt32(gridView1.GetRowCellValue(i,gridView1.

利用hibernate生成表时的同时能不能自动向表中插入一条记录

问题描述 利用hibernate生成表时的同时能不能自动向表中插入一条记录 解决方案 解决方案二:生成后直接跟一条插入语句.