首页上一页 1 下一页尾页 1 条记录 1/1页
关于企业人事管理中保存图片的一条语句
发表在C#图书答疑
2011-05-27
是否精华
是
否
版块置顶:
是
否
老师好,还是上次那个access存图片数据的问题
public void SaveImage(string MID, byte[] p)
{
MyDataClass.con_open();
StringBuilder strSql = new StringBuilder();
strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID="+MID);
OleDbCommand cmd = new OleDbCommand(strSql.ToString(), DataClass.MyMeans.My_con);
cmd.Parameters.Add("@Photo", OleDbType.Binary).Value = p;
cmd.ExecuteNonQuery();
DataClass.MyMeans.My_con.Close();
}
我改成access后出现的数据类型不匹配的问题 我通过调试发现@Photo.value中已经正常的赋值了 但是问题出在MID的数据类型上 我把上述update语句改成strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID='0003');后 ,软件能正常的保存图片在ID='0003'的Photo中,
调试发现从,comtext=update tb_Stuffbusic Set Photo=@Photo where ID='0003'
这说明原语句就是MID的数据类型不匹配了,难道原来的这条语句strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID="+MID);中string类型的MID传递的不是文本型的数据类型么 我在access中将字段Photo的类型设为文本,因为在书中sql中是varchar,转化成accesss应该是文本类型吧 这个应该没错 是不是access不能存储过程啊
而原语句调试中comtext=update tb_Stuffbusic Set Photo=@Photo where ID=0003
区别就在''这里,两条语句完全ID完全不一样,请问老师原来的update语句该如何修改才能正常查询ID
public void SaveImage(string MID, byte[] p)
{
MyDataClass.con_open();
StringBuilder strSql = new StringBuilder();
strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID="+MID);
OleDbCommand cmd = new OleDbCommand(strSql.ToString(), DataClass.MyMeans.My_con);
cmd.Parameters.Add("@Photo", OleDbType.Binary).Value = p;
cmd.ExecuteNonQuery();
DataClass.MyMeans.My_con.Close();
}
我改成access后出现的数据类型不匹配的问题 我通过调试发现@Photo.value中已经正常的赋值了 但是问题出在MID的数据类型上 我把上述update语句改成strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID='0003');后 ,软件能正常的保存图片在ID='0003'的Photo中,
调试发现从,comtext=update tb_Stuffbusic Set Photo=@Photo where ID='0003'
这说明原语句就是MID的数据类型不匹配了,难道原来的这条语句strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID="+MID);中string类型的MID传递的不是文本型的数据类型么 我在access中将字段Photo的类型设为文本,因为在书中sql中是varchar,转化成accesss应该是文本类型吧 这个应该没错 是不是access不能存储过程啊
而原语句调试中comtext=update tb_Stuffbusic Set Photo=@Photo where ID=0003
区别就在''这里,两条语句完全ID完全不一样,请问老师原来的update语句该如何修改才能正常查询ID