社区
C#
帖子详情
使用Oracle存储过程问题,参数为空抱错
dgrwang
2006-12-05 09:34:58
在程序中使用Oracle存储过程,例如有一个content列类型为varchar2型,当我使用一个String型给他传参时,如果String没有被赋值,那么就是"",但是存储过程就会抱错,不允许插入""
这个怎么解决啊
...全文
597
15
打赏
收藏
使用Oracle存储过程问题,参数为空抱错
在程序中使用Oracle存储过程,例如有一个content列类型为varchar2型,当我使用一个String型给他传参时,如果String没有被赋值,那么就是"",但是存储过程就会抱错,不允许插入"" 这个怎么解决啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dgrwang
2006-12-07
打赏
举报
回复
问题已解决
方法跟liujia_0421类似,写了个函数,在赋值前对空字符串进行判断,空的返回system.DBNull.value
liujia_0421
2006-12-06
打赏
举报
回复
TO:一般是这样的,例如我用 string strID=txtcontent.Text.trim()
如果这个输入框没有任何输入,那肯定string strID=""
然后存储过程就出错了,不可能对每一个变量都判断吧,有没有针对存储过程修改的方法
SQL server就没问题,oracle真变态
作个判断:
if (str=null || str="")
{
//插入时用DBValue.Null即可...
}
dgrwang
2006-12-06
打赏
举报
回复
一般是这样的,例如我用 string strID=txtcontent.Text.trim()
如果这个输入框没有任何输入,那肯定string strID=""
然后存储过程就出错了,不可能对每一个变量都判断吧,有没有针对存储过程修改的方法
SQL server就没问题,oracle真变态
net_boy
2006-12-06
打赏
举报
回复
string strID=string.Empty;
net_boy
2006-12-06
打赏
举报
回复
string strID = string.empty;
看看行不
dgrwang
2006-12-06
打赏
举报
回复
列设置的是允许为空的,用sql语句是可以插入的,但是用程序写的存储过程就出错了
Reeezak
2006-12-06
打赏
举报
回复
oracle 中 空字符串将被等同于NULL
所以如果你的字段为NOT NULL的VARCHAR2,那么将不能存储空字符串
如果一定要使用空字符串,就必须将列定义为“允许为空”
dgrwang
2006-12-06
打赏
举报
回复
???
net_boy
2006-12-05
打赏
举报
回复
sqlCmd.Parameters.Add(":name", OracleType.varchar2).Value = strID
这样写不对吧
strID应该位于add方法里面吧
dgrwang
2006-12-05
打赏
举报
回复
例如
string strID;
Dim sqlCmd As OracleCommand = New OracleCommand("update test set name=:name", sqlConn)
sqlCmd.Parameters.Add(":name", OracleType.varchar2).Value = strID
当我的strID未赋值时,这个存储过程就会引起错误
net_boy
2006-12-05
打赏
举报
回复
像sql server的存储过程那样 给他进行参数类型转换
liujia_0421
2006-12-05
打赏
举报
回复
或者你就别往里面插入""..
这个问题我以前也遇到过...
liujia_0421
2006-12-05
打赏
举报
回复
至于怎么解决,将数据库中的字段非空约束去掉..
liujia_0421
2006-12-05
打赏
举报
回复
往Oracle数据库中存储时,如果你要存入的值为"",它会将其作为null值处理,如果你的表中有非空限制就会出错的..
dgrwang
2006-12-05
打赏
举报
回复
这么写好久了,怎么成不对了呢,晕。。。
测试培训教材
测试管理与QualityCenter培训手册 1、测试流程管理、测试度量方法 按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。 -测试需求的分析和确定。 -测试计划。 -测试设计。 -测试执行。 -测试记录和缺陷跟踪。 -回归测试。 -测试总结和报告。 一个好的测试管理工具应该能把以上几个阶段都管理起来。 测试人员每时每刻都在度量别人的工作成果,而测试人员的工作成果又由谁来度量呢?度量的标准和依据是什么呢?软件测试的度量是测试管理必须仔细思考的
问题
。缺乏尺度会让测试失去平衡,缺乏标准会让测试工作难以衡量。 2、如何搭建测试管理平台? 首要
问题
是流程的规范化。 (1) 测试进入和退出标准。 (2) 协作流程。 (3) 缺陷跟踪管理流程。 (4) 工具平台的引入。 目前主流测试管理平台与缺陷跟踪工具: 3、QC(Quality Center)介绍 QC标准测试管理流程 QC支持的应用服务器:Jboss、WebLogic、WebSphere QC支持的数据库:
Oracle
、SQLServer QC支持的操作系统:Windows、Linux、Solaris 支持群集: 服务器端硬件和数据库要求: Windows: Linux: Solaris: 客户端系统要求: 练习1:安装QC 详见《Mercury Quality Center 9.0 Installation Guide》 Win2003+SQLServerSp4+QC9.0安装示例 1、安装Windows Server 2003 Enterprise Edition、安装IIS邮件服务器 2、安装SQL Server 2000、打上补丁Sp4 安装好SQL Server 2000后注意启动SQLServer服务器 3、安装QC9.0 服务器名称也可以是IP地址 4、启动QC9.0 5、QC9.0安装
问题
解决 - JBOSS启动不了 原因:8080端口被其他应用程序占用。 用netstat查看谁占用了8080端口 netstat -ano 解决办法1:修改其他程序的端口
使用
解决办法2:修改JBOSS的启动端口 JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war 进入10sabin.war\WEB-INF,修改siteadmin.xml中的IP地址: 修改数据库中的数据: 修改后可以登陆 但是还需要修改以前Project的数据库连接属性 否则会提示
错
误 然后还要修改 C:\Program Files\Mercury\Quality Center\repository\qc中的dbcon.txt: qcsiteadmin_db@192.168.1.12.1433. 还有 C:\Program Files\Mercury\Quality Center\repository\qc\Default\QualityCenter_Demo_db中的dbid.xml 192.168.1.12 7、Mercury Tours 样例程序 启动:http://192.168.1.2:8080/mtours 注意安装JVM才能“View Calendar” 4、创建和定义测试需求、测试需求管理、跟踪 定义需求 1、查看需求 视图->需求树 2、添加需求 需求->新建需求 输入以下内容 3、添加子需求项 查看需求 ZooIn : CTRL + I ZooOut : CTRL + O 视图->编号 视图->需求网格 视图->筛选/排序->设置筛选器/排序 设置排序字段 设置过滤条件 修改需求 拷贝需求项Cruise Reservation 重命名需求项Cruise Reservation_Copy_1为Hotel Reservation 移动需求项
发布
Oracle
存储过程
包c#代码生成工具(CodeRobot)
发布
Oracle
存储过程
包c#代码生成工具(CodeRobot) 无可致否,代码生成器对于程序员的帮助是越来越大。网上出现了一些优秀的代码工具,比较出名的如:CodeSmith, MyGeneration。但我一直没有找到直接将
oracle
存储过程
包转化为c#的工具或模板(有谁知道告知我啊非常感谢!:),故在工作中编写了CodeRobot这个小冬冬(下载),
使用
起来是比较方便的。以下
Oracle
入门课程
01、
Oracle
介绍02、表空间、用户、授权03、DDL数据定义语言04、DML数据操纵语言05、JDBC CRUD操作06、
Oracle
简单查询07、
Oracle
伪列08、
Oracle
聚合函数09、
Oracle
关联查询、子查询10、
Oracle
分页11、
Oracle
单行函数12、
Oracle
集合运算13、
Oracle
视图14、
Oracle
序列15、
Oracle
索引16、
Oracle
基本语法17、
Oracle
数据类型18、
Oracle
变量19、
Oracle
运算符20、
Oracle
条件控制21、
Oracle
循环22、
Oracle
循环控制23、
Oracle
字符串24、
Oracle
数组25、
Oracle
存储过程
26、
Oracle
函数27、
Oracle
游标28、
Oracle
触发器
Oracle
数据库SQL优化详解
Oracle
数据库SQL优化1.
Oracle
SQL优化概述2.
Oracle
SQL优化详解2.1
Oracle
查询阻塞2.2
Oracle
查询耗时 SQL2.3.
Oracle
查看执行计划2.4.
Oracle
查看收集统计信息2.5.
Oracle
查询优化器 -- 改写查询语句2.6.
Oracle
查询优化器 -- 访问路径2.7.
Oracle
查询优化器 -- 表连接方法2.8.
Oracle
索引2.9.
Oracle
视图2.10.
Oracle
减少数据库访问次数2.11
Oracle
面向对象
Oracle
程序真的有传说中的那么难学吗?
Oracle
程序是留给什么样的人研究并学习的呢? 学习
Oracle
是一个漫长艰辛的过程。如果没有兴趣,只是被迫学习,那么是很难学好的。学习到一定程度的时候,要想进一步提高,就不得不接触很多
Oracle
之外的东西,如Unix,如网络、存储等。因此,要真的决心学好
Oracle
,就一定要有兴趣。有了兴趣,就会一切变得简单快乐起来。简单总结一下,那就是:兴趣、学习、实践。正版发帖软件 正版发帖工具
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章