执行插入语句,object val = cmd.ExecuteScalar() val = null
2016-11-11 10:57
543 查看
在写接口的过程中遇到错误:空对象不能转换为值类型
因为我们使用的是petapoco,经过调试后发现是
object val = cmd.ExecuteScalar() 这一句造成的报错, val = null
因为我执行的是insert语句,而这个方法的功能是:只返回数据集的第一行第一列
解决方案:
①最简单的一种
在service层调用db.Execute这个方法而不是ExecuteScalar方法
②在sql中增加一句sql代码,select 1; 即可。因为ExecuteScalar是返回数据集的第一行第一列
因为我们使用的是petapoco,经过调试后发现是
object val = cmd.ExecuteScalar() 这一句造成的报错, val = null
因为我执行的是insert语句,而这个方法的功能是:只返回数据集的第一行第一列
解决方案:
①最简单的一种
在service层调用db.Execute这个方法而不是ExecuteScalar方法
②在sql中增加一句sql代码,select 1; 即可。因为ExecuteScalar是返回数据集的第一行第一列
相关文章推荐
- php 执行mssql 里的语句,报错 The EXECUTE permission was denied on the object
- 使用PreparedStatement的execute方法执行sql插入语句,执行成功,但是返回结果却为false
- ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法
- SQL允许你用EXECUTE执行一个变量中定义的SQL语句,并且允许你在被执行的SQL语句中,再次嵌套入一个变量定义的语句,并且再次在其中用EXECUTE执行它
- command.ExecuteOracleScalar() Object类型处理
- 关于 int count=(int)cmd.ExecuteScalar()的疑问;
- CMD命令执行多条语句(带有IF判断)
- @@IDENTITY 是否总能保证插入语句执行后的ID是正确的?
- PreparedStatement execute执行插入成功却返回false
- cmd.ExecuteScalar()和cmd.ExecuteNonQuery()
- Python动态执行语句 Executable Object Statement and Built-in Functions
- 实体类自动生成SQL插入执行语句
- cmd.ExecuteScalar()发生错误:请求的范围扩展超过了数组的结尾,的原因。
- cmd.ExecuteScalar()方法
- 执行Oracle的insert或update语句时同时返回插入或更新后的字段值
- 动态语句exec与sp_executesql执行计划区别
- 建议使用 sp_executesql 而不要使用 EXECUTE 语句执行字符串
- 先把插入语句生成出来,再执行
- sql2000 关于ExecuteNonQuery与ExecuteScalar区别的探讨,返回数据库数据的行数通常用intCount=(int)cmd.ExecuteScalar()
- 如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键