首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

datetime 類型的值怎么傳遞

2011-12-25 
datetime 類型的值如何傳遞privateconststringsql_gcInsertinsertintogc_outandin(id,idno,outtime,inti

datetime 類型的值如何傳遞
private   const   string   sql_gcInsert   =   "insert   into   gc_outandin(id,idno,outtime,intime,deflag,remark)   values   (&vid,&vidno,&vouttime,&vintime,&vdeflag,&vremark) ";

                public   int   Insert(gc_outandinInfo   gc_outandin)
                {
                        gc_outandin.ID   =   getMaxid()   +   1;
                        OracleParameter[]   parms   ={
                                new   OracleParameter(PARM_ID,OracleType.Number),
                                new   OracleParameter(PARM_IDNO,OracleType.VarChar),
                                new   OracleParameter(PARM_OUTTIME,OracleType.DateTime),
                                new   OracleParameter(PARM_INTIME,OracleType.DateTime),
                                new   OracleParameter(PARM_DEFLAG,OracleType.VarChar),
                                new   OracleParameter(PARM_REMARK,OracleType.VarChar)
                        };
                        parms[0].Value   =   gc_outandin.ID;
                        parms[1].Value   =   gc_outandin.IDNO;
                        parms[2].Value   =   gc_outandin.OUTTIME;
                        parms[3].Value   =   gc_outandin.INTIME;
                        parms[4].Value   =   gc_outandin.DEFLAG;
                        parms[5].Value   =   gc_outandin.REMARK;
                        int   torf   =   OracleHelper.ExecuteNonQuery(OracleHelper.orclConnectionString,   CommandType.Text,   sql,   parms);
                        return   torf;
                }    

                public   static   int   ExecuteNonQuery(string   connectionString,   CommandType   cmdType,   string   cmdText,   params   OracleParameter[]   commandParameters)   {
                        //   Create   a   new   Oracle   command
                        OracleCommand   cmd   =   new   OracleCommand();



                        //Create   a   connection
                        using   (OracleConnection   connection   =   new   OracleConnection(connectionString))   {

                                //Prepare   the   command
                                PrepareCommand(cmd,   connection,   null,   cmdType,   cmdText,   commandParameters);

                                //Execute   the   command
                                int   val   =   cmd.ExecuteNonQuery();
                                cmd.Parameters.Clear();
                                return   val;
                        }
                }

ORA-01036:   變數名稱﹧號碼無效
datetime   類型的值如何傳遞呀

[解决办法]
提示好像是参数名称不对吧!!不是类型问题吧!!!
[解决办法]
转一下别人的方案:
.net编程时有时会遇到莫名其妙的ora-01036错误。具体原因一般分析如下:
1、如错误介绍一样,你传入的参数和你语句中参数的顺序不同,或者树木不一致。
2、名字过长,oracle要求列名 <32字符(起这么长名字的人也够变态的)
3、在声明中 new OracleParameter(PARM_NAME........) 其中PARM_NAME中不需要包含语句中的 ": "(补充一下,包含一般也不会有错误)

以上就是一般情况的分析,还有几种特殊的情况:

比如数据类型的问题,比如你小子没事干在后面多加了一个空格(我今天就这么无聊过,被郁闷了很久)



[解决办法]
DateTime是没有问题的,出错的地方应该不是这个原因
[解决办法]
mark 学习

热点排行