public bool UpdatepPhoto(string name, byte[] cover)
{
using (conn = new SqlConnection(connString))
{
try
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "UPDATE Albums SET COVER=@COVER WHERE NAME=" + "'" + name + "'";
SqlParameter param0 = new SqlParameter("Cover", SqlDbType.Image);
param0.Value = cover;
cmd.Parameters.Add(param0);
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
finally
{
conn.Close(); }
}
}更新函数如上,为啥我更新之后再读出时,
byte[] coverSource = (byte[])item["Cover"];
string coverName = (string)item["Name"];
MemoryStream stream = new MemoryStream(coverSource,0,coverSource.Length);
Image coverImage = Image.FromStream(stream);
Image coverImage = Image.FromStream(stream);这句话会显示参数无效,debug中,coverSource 数组全是0,这是为什么?
到底是更新是出错,还是读出时出错?
{
using (conn = new SqlConnection(connString))
{
try
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "UPDATE Albums SET COVER=@COVER WHERE NAME=" + "'" + name + "'";
SqlParameter param0 = new SqlParameter("Cover", SqlDbType.Image);
param0.Value = cover;
cmd.Parameters.Add(param0);
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
finally
{
conn.Close(); }
}
}更新函数如上,为啥我更新之后再读出时,
byte[] coverSource = (byte[])item["Cover"];
string coverName = (string)item["Name"];
MemoryStream stream = new MemoryStream(coverSource,0,coverSource.Length);
Image coverImage = Image.FromStream(stream);
Image coverImage = Image.FromStream(stream);这句话会显示参数无效,debug中,coverSource 数组全是0,这是为什么?
到底是更新是出错,还是读出时出错?
解决方案 »
- 将word文档写入access
- 关于dropdownlist的默认选值
- datagridview 焦点不改变就Update(),没有更新到数据库,怎么解决
- 请问下WPF中用C#如何关联text文件中的数据(用的是VS2010)?多谢!
- mysql表有个日期字段用的是int,选择一个时间段的数据怎么写?
- OFFICE.DLL和Interop.Microsoft.Office.Core.dll'兩者中都有型別 'Microsoft.Office.Core.MsoTriState'
- 请问在c#中如何打开外部程序
- 关于DataList控件的取值~~~~
- C#的调用C的dll问题,急!
- 一个想不明白的问题!!!
- c#关于Socket连接问题
- C# 关于获取项的操作
LZ试一下把SqlParameter param0 = new SqlParameter("Cover", SqlDbType.Image);
改为:SqlParameter param0 = new SqlParameter("@COVER", SqlDbType.Image);
估计拼写错误
但是两个二进制流的大小却一样,只是里面的数值一点也不同.....哪位帮个忙指点一下吧...
难道update写的有错?Insert语句是没错的,插入后可读入,也可以读出.....
貌似Update没错,怪了