के साथ संग्रहीत प्रक्रिया से डेटा प्राप्त करना मैं GridView
नियंत्रण को पॉप्युलेट करने के लिए डेटाबेस संदर्भ ऑब्जेक्ट (एंटीटी फ्रेमवर्क 6.1.1 का उपयोग करके) को एक गतिशील SQL संग्रहीत प्रक्रिया के साथ एक तालिका प्राप्त करने का प्रयास कर रहा हूं। मैं डेटा पुनर्प्राप्त करने में विफल रहता हूं।एंटिटी फ्रेमवर्क
यहां संग्रहीत प्रक्रिया है। यह संग्रहीत प्रक्रियाओं में एसक्यूएल इंजेक्शन के बारे में एक छात्र प्रदर्शन के लिए है, इसलिए मुझे पता है यह इंजेक्शन योग्य है और यह ठीक है।
ALTER PROCEDURE dbo.SearchProducts
@SearchTerm VARCHAR(max)
AS
BEGIN
DECLARE @query VARCHAR(max)
SET @query = 'SELECT * FROM dbo.Products WHERE Name LIKE ''%' + @SearchTerm + '%'''
EXEC(@query)
END
सी # कोड के पीछे मैं तो संग्रहीत प्रक्रिया निष्पादित करने के लिए उपयोग करते हैं:
var db = new MyEntities();
var TEST_SEARCH_TERM = "product";
var result = db.SearchProducts(TEST_SEARCH_TERM);
MyGridView.DataSource = result;
MyGridView.DataBind();
जब मार डाला, दृश्य स्टूडियो में डेटाबेस Explorer में, संग्रहीत प्रक्रिया ठीक काम करता है। लेकिन जब चल रहे एएसपी.NET ऐप में निष्पादित किया गया, तो मुझे विधि में अपवाद मिलता है क्योंकि result
-1
IEnumerable
DataSet
के बजाय संग्रहीत प्रक्रिया के चयन से उत्पन्न वस्तुओं को शामिल करता है।
मैं डेटा कैसे पुनर्प्राप्त कर सकता हूं और अपना GridView
पॉप्युलेट कर सकता हूं?
अपने एडीएमएक्स में, फ़ंक्शन आयात पर जाएं -> सर्च प्रोडक्ट्स, और डबल क्लिक करें। वापसी प्रकार क्या सेट है? – Vahlkron
रिटर्न प्रकार सेट नहीं है। यह (कोई नहीं) है। – mak
लगता है जैसे इसे कॉम्प्लेक्स पर सेट करने की आवश्यकता है। एकमात्र चीज जो मैं सुझा सकता हूं, क्योंकि मेरे पास ईएफ नहीं है, जब मैं ऐसा करता हूं तो मुझे समस्याएं देते हैं, एसपी में इच्छित कॉलम को स्पष्ट रूप से चुनने के लिए अपना * बदलें। शायद ईएफ आपके रिटर्न प्रकार को निर्धारित करने के लिए देखता है। फिर अपने ईडीएमएक्स को अपडेट करें ताकि परिवर्तन ईएफ में दिखाई दे। – Vahlkron