请教各位高手:
问题描述
本人在做一图像数据库时,在图像数据导出模块中,需要从数据库中读出对应图片编号的图片另存出来到指定的位置( ImagePhotos 表保存图片编号与图片本身, ImageInfo 表保存此图片的相关说明数据,这两张表通过ImageNo 字段关联),下面的程序代码能够从数据库中读出图片出来,另存到指定的位置后也能显示出来,但是任意选哪一条图片编号,另存出来的都是保存在数据表中的第一副图片(myRow = ds.Tables["ImagePhotos"].Rows[0];)若将此句myRow = ds.Tables["ImagePhotos"].Rows[0]; 改为 myRow = ds.Tables["ImagePhotos"].Rows[1];任意选哪一条图片编号,另存出来的都是数据表中的第二副图片,请教各位高手帮忙,此句需要怎么改动一下,才能实现读取对应的图片编号另存出来的是其对应的图片,不甚感激哈!
try
{
if (theFile != "")
{
connection = MyFunction.GetSqlConnection();
SqlDataAdapter da = new SqlDataAdapter("Select Imagepicture,a.ImageNo From ImagePhotos a,ImageInfo b where a.ImageNo=b.ImageNo", connection);
SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
DataSet ds = new DataSet("ImagePhotos");
byte[] MyData = new byte[0];
da.Fill(ds, "ImagePhotos");
DataRow myRow;
myRow = ds.Tables["ImagePhotos"].Rows[0];
MyData = (byte[])myRow["Imagepicture"];
int ArraySize = new int();
ArraySize = MyData.GetUpperBound(0);
FileStream fs = new FileStream(@theFile, FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close();
}
}
catch (Exception ex)
{ MessageBox.Show(ex.Message); }