在我遇到类似的问题之前,我没有得到答案:
How to get column values from a data set?
我已经制作了一个数据集,在这个数据集里面有一个数据表,其中2个方法的第一个方法是(Get all product),第二个是参数查询(按代码获取产品),我想知道怎么样通过代码访问第二种数据表方法(参数查询)。
实际上我正在使用网格视图和详细视图,第一种方法填充网格视图,第二种方法在网格视图中选择行后填充详细视图。现在我想在网格视图中选择行后从网格视图中获取(Id)的值,并放入数据表的第二个方法以获取其他值并保存在变量中。
这是前一段代码:
我还在数据集中添加了另一个查询,它的名称是“按代码获取数据”(@code),它与详细视图的select方法一起使用。
SELECT Code, Products.Name, Dsc, Price, CategoryID, ImagePath, ThumbnailPath
FROM Products where Code=@Code
现在当我使用详细信息视图的DetailsView1_ItemUpdating时,我想变老(ImagePath)和旧(ThumbnailPath)并保存在字符串变量中。
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
FileUpload fu = (FileUpload)DetailsView1.FindControl("FileUpload1");
if (fu != null && fu.HasFile)
{
string ImageName = DateTime.Now.ToString("yyyyMMdd_hhmmss") + fu.FileName.Substring(fu.FileName.LastIndexOf("\\") + 1);
fu.SaveAs(Request.PhysicalApplicationPath + @"Images\Products\" + ImageName);
System.Drawing.Image img = System.Drawing.Image.FromFile(Request.PhysicalApplicationPath + @"Images\Products\" + ImageName);
img.GetThumbnailImage(100, 100, null, IntPtr.Zero).Save(Request.PhysicalApplicationPath + @"Images\Products\tmb_" + ImageName);
img.Dispose();
e.NewValues["ImagePath"] = ImageName;
e.NewValues["ThumbnailPath"] = "tmb_" + ImageName;
}
}
我喜欢使用数据集中的方法或select查询来获取旧的ImagePath和旧的ThumbnailPath(更新前)。