C# winfrom 如何将byte 用sql语句加入数据库

stringsql=string.Format(@"insertintoEM_Name(PersonNO,Name,CardIDOne,CardIDTwo,CardIDT... string sql = string.Format(@"insert into EM_Name(PersonNO,Name,CardIDOne,CardIDTwo,CardIDThree,name_Image,Sex,PhoneNumber,Patch,TypeID,GroupID)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}',{9},{10})", pm.No.ToString(), pm.Name.ToString(), pm.Rfidone, pm.Rfidtwo.ToString(), pm.Rfidthree,Convert.ToByte(pm.Photo), pm.Sex, pm.Phone, pm.Pichi, Convert.ToInt32(pm.Type), Convert.ToInt32(pm.Group)); 怎么把pm.photo 数组 加入到数据库,这儿怎么写呢。 展开
 我来答
匿名用户
2013-09-12
展开全部
photo应该是一个一个添加的吧

下面是一个将图片转换为byte[],然后直接添加此参数

//实例化一个文件流,与写入文件相关联
FileStream fs = new FileStream(photoPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
//获得字节数组
byte[] photoData = new byte[fs.Length];
//开始写入
fs.Read(photoData, 0, imgData.Length);
//关闭流
fs.Close();
……
//photo字段在数据库中为image类型(二进制数据)
cmd.Parameters.Add("@Photo", SqlDbType.Image).Value = photoData;
cmd.ExecuteNonQuery();

另外,你的sql语句也太复杂了,其实,即使是数字,在数据库中也可以设置为varchar类型,如果数据是从textbox中添加的(textbox中的值是string类型),就不需要类型转换了。

string sql = string.Format("insert into EM_Name values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}',{9},{10})", pm.No, pm.Name, pm.Rfidone, pm.Rfidtwo, pm.Rfidthree,pm.Photo, pm.Sex, pm.Phone, pm.Pichi, pm.Type,pm.Group);
zqcj2003
2013-08-29
知道答主
回答量:22
采纳率:0%
帮助的人:18.8万
展开全部
可以用image类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式