我需要把数据库某张表的二进制字段进行批量更新for (int i = 0; i < symList.Count; i++)
{
byte[] btTO = symList[i];
sqlCommand.CommandText = "update " + symBolcTableNameTo + " set 文件 =" + btTO + " where SmID=" + (i + 1);
sqlCommand.Parameters.Add("文件", SqlDbType.Image);
sqlCommand.Parameters["文件"].Value = btTO;
sqlCommand.ExecuteNonQuery();
}这里边的symList保存的是byte【】;也就是说symList【0】取出来的只是一个byte【】。文件是二进制字段名。如果把sql语句变成 " set 文件 =@文件 用下边的 sqlCommand.Parameters.Add("文件", SqlDbType.Image);
sqlCommand.Parameters["文件"].Value = btTO;
给参数赋值,第一次执行没问题,可第二次执行就会报@文件已存在,必须唯一错误。
如果把sql语句写成 set 文件 =‘" + btTO + "’+。。
他就会吧btTO认为字符串保存起来。到底这该怎么写呀
{
byte[] btTO = symList[i];
sqlCommand.CommandText = "update " + symBolcTableNameTo + " set 文件 =" + btTO + " where SmID=" + (i + 1);
sqlCommand.Parameters.Add("文件", SqlDbType.Image);
sqlCommand.Parameters["文件"].Value = btTO;
sqlCommand.ExecuteNonQuery();
}这里边的symList保存的是byte【】;也就是说symList【0】取出来的只是一个byte【】。文件是二进制字段名。如果把sql语句变成 " set 文件 =@文件 用下边的 sqlCommand.Parameters.Add("文件", SqlDbType.Image);
sqlCommand.Parameters["文件"].Value = btTO;
给参数赋值,第一次执行没问题,可第二次执行就会报@文件已存在,必须唯一错误。
如果把sql语句写成 set 文件 =‘" + btTO + "’+。。
他就会吧btTO认为字符串保存起来。到底这该怎么写呀
解决方案 »
- 读取配置文件的连接字符串的时候报未将对象引用设置到对象的实例。
- 窗体如何屏蔽鼠标点击事件?
- 求助:msxml上传图片问题
- 急急!!!!!!!!!!!怎样获得pdf的页码
- 做了一个可播放mp3背景音乐的form,如何把mp3整合到.exe文件中
- ???大家有没有做过读取outlook收件箱邮件内容的?!!!
- dataset数据源的操作问题??
- C#关于网站登录的问题
- 对于WinForm的MDI程序来说,怎样获得当前子窗体的属性,比如说:子窗体的窗体名称
- 有关序列化的问题
- 我做的WinForm程序加上皮肤后页面弹出的时候有闪烁,请问各位大侠咋解决
- 程序日志总是出现下边的数据库连接不够,应该是连接池中的连接不够了,数据库用的是dlinq的存储过程,高手进来看看吧
重新添加参数