我想往数据库通过 sqlparameter的方式插入一条记录。可是一直不成功,主要是因为无法解析T0_DATE()函数
代码我贴一部分出来
fStr.Append(dc.ColumnName);
fStr.Append(',');
if (dc.ColumnName == "PUBLISHDATE")
pStr.Append("To_DATE(':" + dc.ColumnName + "','yyyy-MM-dd hh24:mi:ss')");
else
pStr.Append(":" + dc.ColumnName);
pStr.Append(',');//时间参数赋值
param = new OracleParameter(dc.ColumnName, OracleDbType.Date);
param.Direction = ParameterDirection.Input;
string[] paramValue4 = new string[dt.Rows.Count - (i * this._batchSize)];
for (int j = i * this._batchSize; j < dt.Rows.Count; j++)
{
string v = dt.Rows[j][dc.ColumnName].ToString();
paramValue4[j % this._batchSize] = v;
}
param.Value = paramValue4;
break;
//添加参数值
this._oracleCommand.Parameters.Add(param);
//插入数据库
this._oracleCommand.CommandText =
string.Format("insert into {0}({1}) values({2})",
dt.TableName,
fStr.ToString().TrimEnd(','),
pStr.ToString().TrimEnd(','));
this._oracleCommand.ExecuteNonQuery();数据库date
代码我贴一部分出来
fStr.Append(dc.ColumnName);
fStr.Append(',');
if (dc.ColumnName == "PUBLISHDATE")
pStr.Append("To_DATE(':" + dc.ColumnName + "','yyyy-MM-dd hh24:mi:ss')");
else
pStr.Append(":" + dc.ColumnName);
pStr.Append(',');//时间参数赋值
param = new OracleParameter(dc.ColumnName, OracleDbType.Date);
param.Direction = ParameterDirection.Input;
string[] paramValue4 = new string[dt.Rows.Count - (i * this._batchSize)];
for (int j = i * this._batchSize; j < dt.Rows.Count; j++)
{
string v = dt.Rows[j][dc.ColumnName].ToString();
paramValue4[j % this._batchSize] = v;
}
param.Value = paramValue4;
break;
//添加参数值
this._oracleCommand.Parameters.Add(param);
//插入数据库
this._oracleCommand.CommandText =
string.Format("insert into {0}({1}) values({2})",
dt.TableName,
fStr.ToString().TrimEnd(','),
pStr.ToString().TrimEnd(','));
this._oracleCommand.ExecuteNonQuery();数据库date
改成
TO_DATE ( dc.ColumnName , 'yyyy-MM-dd hh24:mi:ss')