已有57人关注
关于企业人事管理中保存图片的一条语句
发表在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
分享到:
精彩评论 1
耳朵的
学分:0 LV1
TA的每日心情
1
2021-09-26 19:54:25
2011-05-27
沙发
哈  老师不用费心了  我自己已经解决了  改成     strSql.Append("update tb_Stuffbusic Set Photo=@Photo where ID='"+MID+"'");    就对了   但是用sql数据库的时候怎么不会出现这种情况
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照