利用参数化SQL语句,向Oracle数据库插入DateTime类型数据时该如何设置???
现在要向Oracle数据库中的某个表插入一条数据,该数据表中有一个字段为DateTime类型。。。
if (!string.IsNullOrEmpty(birthday))
{
prams = new OracleParameter[] {
new OracleParameter(":userName", userName),
new OracleParameter(":pwd", pwd),
new OracleParameter(":sex", sex),
new OracleParameter(":mobile", mobileNo),
new OracleParameter(":cretType", GetLicType(cretType)),
new OracleParameter(":cretNo", cretNo),
new OracleParameter(":fixedPhone", fixedPhone),
new OracleParameter(":mail", email),
new OracleParameter(":postCode", postCode),
new OracleParameter(":address", contactAdd),
new OracleParameter(":dvrLicNo", drivLicense),
new OracleParameter(":dvrLicDate", getDrivLiceDay),
new OracleParameter(":recomName", referee),
new OracleParameter(":knowDesc", couponCode),
new OracleParameter(":reg_mode", "网站注册"),
new OracleParameter(":birthday", birthday)
};
}
int re = Convert.ToInt32(SQLHelper.ExecuteNonQuery(conStr, CommandType.Text, sbSql.ToString(), prams));
在执行
int re = Convert.ToInt32(SQLHelper.ExecuteNonQuery(conStr, CommandType.Text, sbSql.ToString(), prams));
时报错了,错误信息为
"ORA-01858: 在要求输入数字处找到非数字字符"
注:birthday为String类型,调试获取到的值string birthday = "to_date('2011-07-03','yyyy-mm-dd')";
在线等,先谢谢了!
[解决办法]
to_date('2004-05-07','yyyy-mm-dd hh24:mi:ss') try
------解决方案--------------------

[解决办法]
string str = "2011-07-07";
DateTime dt = Convert.ToDateTime(str);
[解决办法]
我其实还是弄了下Oracle得,但是忘了,真是悲哀,兄弟,先仔细调试下,看看问题到底是在什么地方。
也行不是这里勒?对啊,哈哈。
[解决办法]
嗯, 嗯 new OracleParameter(":birthday", birthday)
这句的时候birthday还是string 类型的
你得在这传值之前先转换成datetime类型。