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 数组 加入到数据库,这儿怎么写呢。
展开
2个回答
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);
下面是一个将图片转换为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);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询