菜鸟关于操作数类型冲突: image 与 varchar 不兼容的问题

lengxiaotian 2006-04-12 02:35:19
当我写人数据到数据库的时候,会出现以下的错误提示:
操作数类型冲突: image 与 varchar 不兼容
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 操作数类型冲突: image 与 varchar 不兼容

源错误:


行 125:// {
行 126: cn.Open() ;
行 127: cmd.ExecuteNonQuery() ;
行 128:// }
行 129:// catch(System.Data.SqlClient.SqlException er)



这是我名为addNews的存储过程
CREATE PROCEDURE dbo.AddNews
@publicDate datetime,
@source varchar (30) ,
@title varchar (100),
@content text,
@picture varchar(50),
@hits int,
@cat varchar (30)
AS
insert news(publicDate,source,title,content,picture,hits,cat)
values (@publicDate,@source,@title,@content,@picture,@hits,@cat)
GO

下面的是给参数赋的值

public void AddNews(ArrayList tempary)//本函数用于新闻的添加,查找,删除等操作。
{
SqlConnection cn=new SqlConnection(strConn);
SqlCommand cmd=new SqlCommand("AddNews",cn);//下面两句调用名为AddNews存储过程
cmd.CommandType =CommandType.StoredProcedure;



cmd.Parameters.Add(new SqlParameter("@publicDate",SqlDbType.DateTime));
cmd.Parameters["@publicDate"].Value =tempary[0];

cmd.Parameters.Add(new SqlParameter("@source",SqlDbType.VarChar,30 ));
cmd.Parameters["@source"].Value =tempary[1];

cmd.Parameters.Add(new SqlParameter("@title",SqlDbType.VarChar,100));
cmd.Parameters["@title"].Value =tempary[2];

cmd.Parameters.Add(new SqlParameter("@content",SqlDbType.Text ));
cmd.Parameters["@content"].Value =tempary[3];

cmd.Parameters.Add(new SqlParameter("@picture",SqlDbType.VarChar,50));
cmd.Parameters["@picture"].Value =tempary[4];

cmd.Parameters.Add(new SqlParameter("@cat",SqlDbType.VarChar,50));
cmd.Parameters["@cat"].Value =tempary[5];

cmd.Parameters.Add(new SqlParameter("@hits",SqlDbType.Int));
cmd.Parameters["@hits"].Value =0;

try
{
cn.Open() ;
cmd.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException er)
{
throw new Exception(er.Message);
}
finally
{
cmd.Dispose() ;
cn.Close() ;
}
}
这是我CS文件里的一段代码:
CommAry.Add(System.DateTime.Now);
CommAry.Add(tb_Source.Text.Trim());
CommAry.Add(tb_Title.Text.Trim());
CommAry.Add(tb_Content.Text.Trim());
// CommAry.Add("ddd");
// CommAry.Add(DD_kind.SelectedItem.Text.Trim());
CommAry.Add(newname2+newext2);
...全文
555 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
从不签到 2006-04-12
  • 打赏
  • 举报
回复
数据库中用 Binary 型
combread 2006-04-12
  • 打赏
  • 举报
回复
cmd.Parameters.Add(new SqlParameter("@picture",SqlDbType.VarChar,50));
cmd.Parameters["@picture"].Value =tempary[4];

你这个数据库字段是什么类型?是varchar么?
代码和数据类类型冲突。
canserly 2006-04-12
  • 打赏
  • 举报
回复
类型要一致啊,图片保存到数据库里面的时候当然用IMAGE类型的
yf1025 2006-04-12
  • 打赏
  • 举报
回复
这个错误应该是传入的参数类型和数据库中的类型不同
看看传入的参数类型和数据库中各字段的类型是否一致

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧