2012-12-28 68 views
0

嗨我試圖檢索包含ie的pProductImage。 〜/ Images/pic1.jpg(圖片網址),並使用pProductId作爲標識符根據ID顯示不同的圖像。查詢表達式中的語法錯誤(缺少運算符)'pProductId ='

這是我cataglogue.aspx.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Configuration; 
using System.Data.OleDb; 


public partial class Catalogue : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     string ImageId = Request.QueryString["Img"]; 

     string sqlText = "SELECT pProductImage FROM Products WHERE pProductId = " +ImageId; 

     OleDbConnection mDB = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConnection"].ConnectionString); 
     OleDbCommand cmd = new OleDbCommand(sqlText, mDB); 

     mDB.Open(); 
     OleDbDataReader rdr = cmd.ExecuteReader(); 
     if (rdr.Read()) 
     { 
      Response.BinaryWrite((byte[])rdr["pProductImage"]); 
     } 
     mDB.Close(); 

    } 
} 

在我cataglogue.aspx(在圖像控件來顯示圖像)

<div> 

    <img src="Catalogue.aspx?pProductId=2" alt="" /> 
    </div> 
+0

還有什麼數據庫中的圖像或圖像路徑? –

+0

我的圖像的圖像路徑 –

+0

您爲什麼要使用'Response.BinaryWrite((byte [])rdr [「pProductImage」]);' –

回答

0

如果要存儲的圖片網址你數據庫表,那麼你需要把它作爲一個字符串數據 - 例如

代碼隱藏:

protected string GetProductImgUrl(int productId) 
{ 
    var sqlText = "SELECT pProductImage FROM Products WHERE pProductId = " + productId.ToString(); 
    using(var mDB = new OleDbConnection(ConfigurationManager.ConnectionStrings["AccessConnection"].ConnectionString)) 
    { 
     mDB.Open(); 
     var cmd = new OleDbCommand(sqlText, mDB); 
     using (var rdr = cmd.ExecuteReader()) 
     { 
      if (rdr.Read()) 
      { 
      return ResolveUrl((rdr["pProductImage"]).ToString()); 
      } 
     } 
    } 
    return ResolveUrl("~/images/NotAvailable.png");  // Not available image 
} 

而在加價

<div> 
    <img src='<%= GetProductImgUrl(2) %>' alt="" /> 
</div> 
+0

謝謝你!那很好用! –

+0

我現在有另一個查詢,我能夠顯示圖像。當我點擊圖片時,它會將我引導至產品的productdetail.aspx。我如何實現這一目標? –

+0

@MalcolmNathanielNg,根據SO準則,你應該真的發表另一個問題(你可以提供這個問題的鏈接)!說,要導航到詳細信息頁面,您需要將圖像封裝到錨標籤中,例如'' – VinayC

相關問題