在做一个操作的测试的时候,用OracleParameter添加两个varchar2的数据,可是添加的内荣只有传进的内容的一半,不知什么原因?
代码如下:
command.CommandType = CommandType.Text;
command.CommandText = "insert into webapp.lb_image1(IDWAY,IMAGETEST,CREATEDATE) VALUES (:IDWAY,:IMAGETEST,sysdate)";
OracleParameter[] parameterValue = {
new OracleParameter(":IDWAY",OracleType.VarChar,20),
new OracleParameter(":IMAGETEST",OracleType.VarChar,200),
}; parameterValue[0].Value = "TestImageTestImage";
parameterValue[1].Value = "ImageTestImageTest"; foreach (OracleParameter parameter in parameterValue)
command.Parameters.Add(parameter); command.Connection = connection;
OpenConnection();
try
{
command.ExecuteNonQuery();
}
catch (Exception e)
{
throw;
}
finally
{
CloseConnection();
}
代码如下:
command.CommandType = CommandType.Text;
command.CommandText = "insert into webapp.lb_image1(IDWAY,IMAGETEST,CREATEDATE) VALUES (:IDWAY,:IMAGETEST,sysdate)";
OracleParameter[] parameterValue = {
new OracleParameter(":IDWAY",OracleType.VarChar,20),
new OracleParameter(":IMAGETEST",OracleType.VarChar,200),
}; parameterValue[0].Value = "TestImageTestImage";
parameterValue[1].Value = "ImageTestImageTest"; foreach (OracleParameter parameter in parameterValue)
command.Parameters.Add(parameter); command.Connection = connection;
OpenConnection();
try
{
command.ExecuteNonQuery();
}
catch (Exception e)
{
throw;
}
finally
{
CloseConnection();
}
new OracleParameter(":IMAGETEST",OracleType.VarChar,200),
改成
new OracleParameter(":IDWAY",OracleType.VarChar,40),
new OracleParameter(":IMAGETEST",OracleType.VarChar,400), 呢?
数据库字段大小要匹配
你数据库字段是10,parameterValue[0].Value = "TestImageTestImage";而0的长度明显大于10了,当然会被截断了,如果没数错的话,IDWAY 里插入的应该是TestImageT
你要把IDWAY 的数据库字段长度给改成20.
很是晕啊,拜求各位高手解答一下。
应该是NVarchar,一旦改成这个就报错。。上面了。。