CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

我的程序出错了,大家帮忙呀

楼主Iamastar(我爱我老婆)2004-09-03 13:57:43 在 .NET技术 / ASP.NET 提问

我以前是用的拼Sql的方法来对数据库进行操作,现在要改成传参数的方式,就是这样的  
  以前:OracleConnection   conn   =   new   OracleConnection(DataString);  
     OracleCommand   cmd   =   new   OracleCommand(Sql,conn);  
     cmd.Connection.Open();  
     cmd.ExecuteNonQuery();  
     cmd.Connection.Close();  
  现在:Sql中有参数  
              OracleConnection   conn   =   new   OracleConnection(DataString);  
              OracleCommand   cmd   =   new   OracleCommand(Sql,conn);  
              cmd.Parameters.Add(PName[i],OracleType.Number);  
              cmd.Parameters[PName[i]].Value   =   PValue[j];//这里只写了一个参数,旨在说明方法,实际的程序中i是自增变量,通过循环,把所有的参数附值,Sql中已经通过参数的数组把参数传了进去。  
              cmd.Connection.Open();  
              cmd.ExecuteNonQuery();  
              cmd.Connection.Close();  
  我现在要解决的问题:  
  1、如何通过上面第二种方式(既传参数的方式)把空值传入Oracle数据库中,好像DBNull.Value不行  
  2、参数传递过程中,对参数的要求,如OracleType.Varchar类型是对应字符串  
  3、加参数时对参数的长度要求,我只会在整数时控制,但是到了有小数的时候,怎么控制 问题点数:100、回复次数:14Top

1 楼shiningpolarstar(闪亮的北极星)回复于 2004-09-03 13:59:44 得分 10

一楼顶Top

2 楼fangbuge(窗外的雨)回复于 2004-09-03 14:05:11 得分 5

Oracle没用过Top

3 楼vzxq(灵感人)回复于 2004-09-03 14:17:33 得分 5

用存储过程(在存储过程中给参数默认值)Top

4 楼xinyulou(心雨楼)回复于 2004-09-03 14:17:43 得分 5

用分支!Top

5 楼xiedan79(Sam Xie)回复于 2004-09-03 14:21:02 得分 5

第三点你可以试试用“正则表达式”Top

6 楼Iamastar(我爱我老婆)回复于 2004-09-03 14:23:12 得分 0

各位,这是一个认真的问题,请大家帮忙呀Top

7 楼goody9807(http://goody9807.cnblogs.com)回复于 2004-09-03 14:27:58 得分 25

1、如何通过上面第二种方式(既传参数的方式)把空值传入Oracle数据库中,好像DBNull.Value不行  
  用null行吗  
   
  private   SqlCommand   CreateCommand(string   procName,   SqlParameter[]   prams)   {  
  //   make   sure   connection   is   open  
  Open();  
   
  //command   =   new   SqlCommand(   sprocName,   new   SqlConnection(   ConfigManager.DALConnectionString   )   );  
  SqlCommand   cmd   =   new   SqlCommand(procName,   con);  
  cmd.CommandType   =   CommandType.StoredProcedure;  
   
  //   add   proc   parameters  
  if   (prams   !=   null)   {  
  foreach   (SqlParameter   parameter   in   prams)  
  cmd.Parameters.Add(parameter);  
  }  
   
      //   return   param  
  cmd.Parameters.Add(  
  new   SqlParameter("ReturnValue",   SqlDbType.Int,   4,  
  ParameterDirection.ReturnValue,   false,   0,   0,  
  string.Empty,   DataRowVersion.Default,   null));  
   
  return   cmd;  
  }Top

8 楼Iamastar(我爱我老婆)回复于 2004-09-03 14:40:33 得分 0

TO:goody9807()  
  SqlServer的空值用DBNull.Value是可以的,我以前试过,可我现在用的是Oracle,有点不一样Top

9 楼pgwron(情伤无痕)回复于 2004-09-03 15:02:22 得分 5

心情很不好,没分也顶Top

10 楼morality(业精于勤,行成于思!)回复于 2004-09-03 15:44:11 得分 5

Oracle没有用过,帮你顶一下Top

11 楼noahart(八卦小子)回复于 2004-09-03 17:18:47 得分 20

1.  
  public   void   CreateOracleParameter()    
  {  
        OracleParameter   myParameter   =   new   OracleParameter("DName",   OracleType.VarChar,   14);  
        myParameter.IsNullable   =   true;  
        //你加这句试试;你那个字段是否设了不能空?DBNull.Value没问题  
        myParameter.Direction   =   ParameterDirection.Output;  
                        。。。  
  }Top

12 楼noahart(八卦小子)回复于 2004-09-03 17:23:55 得分 0

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdataoracleclientoracletypeclasstopic.aspTop

13 楼shenghuayi(oldman)回复于 2004-09-03 17:30:37 得分 10

OracleConnection   conn   =   new   OracleConnection(DataString);  
  //conn.Open();  
              OracleCommand   cmd   =   new   OracleCommand(Sql,conn);  
  //cmd.CommandType   =   CommandType.StoredProcedure;Top

14 楼wangdequan1024(紫夜)回复于 2004-09-03 17:37:23 得分 5

关注Top

相关问题

  • 程序出错!!!
  • 程序出错
  • 程序出错
  • 程序一共188行,它说我189出错?!!!!
  • 程序出错我没办法。请看
  • 我的VC程序为什么出错?
  • 为什么我这段程序出错
  • 我的程序哪出错了?
  • 高手救我。。一小程序出错
  • 看看我程序如何出错

关键词

  • 数据库
  • sql
  • 参数
  • oraclecommand
  • cmd
  • oracleconnection
  • datastring
  • dbnull
  • prams
  • conn

得分解答快速导航

  • 帖主:Iamastar
  • shiningpolarstar
  • fangbuge
  • vzxq
  • xinyulou
  • xiedan79
  • goody9807
  • pgwron
  • morality
  • noahart
  • shenghuayi
  • wangdequan1024

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo