为什么有时候传入sql 数据库的图片是0x,vs2010开发的。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
SQL语句其实是一个字符串,各种数据其实都是用可读的文本来表示的。
SQL Server 就是用0x打头的一串十六进制来表示一串字节流的。
有段将图片插入access的代码,可以参考一下:
/// <summary>
/// 添加Card记录(含图片)
/// </summary>
/// <param name="dic">字典存放内容</param>
/// <returns>成功标志</returns>
public bool AddCardInfo(IDictionary<string, object> dic)
{
string sql = "insert into cardInfo(xm,sfzh,zp) values(@xm,@sfzh,@zp)";
DbParameter[] odp = new OleDbParameter[]{
new OleDbParameter("@xm",OleDbType.VarChar),
new OleDbParameter("@sfzh",OleDbType.VarChar),
new OleDbParameter("@zp",OleDbType.Binary),
};
odp[0].Value = dic["xm"].ToString();//姓名
//odp[1].Value = dic["xb"];//性别
odp[1].Value = dic["sfzh"].ToString();//身份证号
odp[2].Value = (byte[])dic["zp"];//照片
int i = accessOp.ExecuteSql(sql, ref odp);
return i > 0 ? true : false;
}
0x就对了,它是十六进制的嘛