private const string sql_gcInsert = "insert into gc_outandin(id,idno,outtime,intime,deflag,re) values (&vid,&vidno,&vouttime,&vintime,&vdeflag,&vre)"; 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 類型的值如何傳遞呀
{
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中不需要包含语句中的":"(补充一下,包含一般也不会有错误)以上就是一般情况的分析,还有几种特殊的情况:比如数据类型的问题,比如你小子没事干在后面多加了一个空格(我今天就这么无聊过,被郁闷了很久)