我想從SQL獲取產品圖像列表以顯示圖像幻燈片。SQL SP返回產品圖像列表
但是,我不確定從MS SQL存儲過程返回數據的最佳方式。
問題是,在SP下面,我得到了每個圖像的重複記錄。理想情況下,我想獲得一個數組或字符串列表或某種方式來從單個記錄中分出數據。但是,我接受其他解決方案。我的目標是以直觀的方式獲取頁面上的圖像。這是一個ASP.Net C#應用程序。
這是我的存儲過程簡化的select語句:
SELECT
P.[ProductId]
,P.[ProductName]
,I.[FileName] as ProductImage
FROM [Product] P
LEFT JOIN [ProductImages] I
on P.ProductId = I.ProductId
Where P.ProductId = @ProductId
這將返回看起來像這樣的數據:
ProductId ProductName ProductImage
1 Coffee Mug Mug_Image1.jpg
1 Coffee Mug Mug_2.jpg
1 Coffee Mug Mug_Img3.jpg
我想它看起來就像這樣(但我也很想聽聽其他的想法):
ProductId ProductName ProductImage
1 Coffee Mug Mug_Image1.jpg, Mug_2.jpg, Mug_Img3.jpg
同樣,我不知道這是否是最好的方式。
我有兩個表。一個是Product,另一個是ProductImages,它從Product表中對ProductId具有FK。
最終,我需要構建JSON來提供客戶端幻燈片腳本。就像這樣:
productimages = [
{ "image": "Mug_Image1.jpg", "caption": "", "link": "", "title": "" },
{ "image": "Mug_2.jpg", "caption": "", "link": "", "title": "" },
{ "image": "Mug_Img3.jpg", "caption": "", "link": "", "title": "" }
];
這裏是C#
//Create product object to display on page
ProductEntity product = new ProductEntity();
product.Id = idval;
//Load the product from SP based on ID
ProductWF.LoadProduct(product);
//Render product details on page
ProductNameLabel.Text = product.ProductName;
//Construct JSON image list
StringBuilder sb = new StringBuilder();
etc...
如果您最終每個圖像需要一行JSON,那麼每個圖像從數據庫中出現一行結果會出現什麼問題?這似乎是一個簡單的一對一映射... – mellamokb
嗯,我也使用同一個SP來顯示產品信息和細節。我已經使用C#編輯了我的上述問題以提供一些上下文。 – User970008