数据库是sqlserver 2000,在程序里面通过sqlhelper.cs将数据加入到数据库中,先定义一个string sqladd变量,存入要插入的信息 如sqladd = “insert into table values('”;sqladd += name.text;等等 就这样,我有个数据库字段是image类型的,我把它转化问byte数组 bytdata,如何将这个数组的数据信息加入到这个sqladd中,使这些数据通过SqlHelper.ExecuteNonQuery(conn.str, CommandType.Text, sqladd)能同时加入到数据库中?谢谢了
SqlConnection conn=new SqlConnection("");
string sql="insert into table values(@name,@image)"SqlCommand cmd=new SqlCommand(sql,conn); SqlParameter[] parames = new SqlParameter[]{new SqlParameter("name", SqlDbType.NVarChar),
new SqlParameter("image", SqlDbType.image)};
parames[0]="aaaaa";
parames[1]=//image conver to byte[];cmd.Pamameter.add(parames );
cmd.Connection.Open();
cmd.ExecuteNonQuery();
数据库存图片类型时byte类型的所以你要转换一下。FileStream什么的。就看你程序的需求了。
或者用helper.cs
///execute sql.
reader = ExecuteReader(conn, CommandType.Text, sql, parames);
TestTable: ID, UserName, UserPhoto
直接用: Insert into TestTable(UserName,UserPhoto) values ('Hello', PhotoData)
其中:PhotoData是byte[]类型。
应该改成cmd.Pamameter.AddRange(parames);
这种信息是正确的吗?0x47494638396132046D05F60000FA0604F244A254BA5B0493B8F5DF0DA4228FCCCCCC6215877DCEE3FD980083208D00FFFFCCCC00B5B5B5CC3366C9C9C9EBEBEBDCDCDCFAFAFABABABAC4C4C4F5F5F5E1E1E1F0F0F0CC6666D3D3D3BFBFBFCECECEE6E6E6D8D8D8CC9999884A67CC6699EDD513CC9966661C84B46C00CCCC99
这是其中的2个数据 怎么图片不一样 前面有很多类似的地方啊?是不是我转换的方式不对啊?这是我的方法
//Image 转换为 byte[]数组
public static byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
string sql="select image form table" SqlCommand cmd=new SqlCommand(sql,conn); cmd.Connection.Open();
SqlDataReader reader=cmd.ExecuteDataReader();
while(reader.read())
{
byte[] image=(byte[])reader["image"];
FileStream gif=new FileStream("iamge path",FileMode.Create);
gif.Writer(image,0,image.lenth);
看看是不是和原来的图片一样不就成了
}
DataSet ds_dish = SqlHelper.ExecuteDataset(conn.str, CommandType.Text, "select Food_Pic,Food_Note from TS14_dish where Food_Name ='" + foodname + "'");
if (ds_dish.Tables[0].Rows[0]["Food_Pic"].ToString() != null ) //判断这个菜是否有图片信息
怎么我发现它即使为空 也继续往下执行啊?