2014-07-14 16 views
13

मैं Table कॉलम के साथ tbl_search नामित किया है के साथ डेटा रीडर में एक इसी कॉलम नहीं हैएक ही नाम

using (var db = new GoogleEntities()) 
     { 
      const string selectCmd = 
       @"Select top 1 title From tbl_search Where [email protected] and [email protected] "; 

     var data = db.Database.SqlQuery<tbl_search>(
       selectCmd, 
       new SqlParameter("@title", "wcf"), 
       new SqlParameter("@id", 1) 
       ).FirstOrDefault(); 



      if (data != null) 
       { 
       var serviceMember = data.ToString(); 
       label1.Text = serviceMember == "" ? "" : (serviceMember == "True" ? "On" : "Off"); 
       } 
     } 

लेकिन यह मुझे एक त्रुटि दे:

डेटा रीडर निर्दिष्ट 'GoogleModel.tbl_search' के साथ असंगत है। प्रकार, 'आईडी' के सदस्य के पास समान नाम वाले डेटा रीडर में एक समान कॉलम नहीं है।

नोट: यह मेरा tbl_search वर्ग है:

public partial class tbl_search 
{ 
    public int id { get; set; } 
    public string title { get; set; } 
    public string result { get; set; } 
} 

मैं अपने तालिका में id है .. क्या समस्या है !!

+0

अपनी 'tbl_search' कक्षा दिखाएं। – haim770

उत्तर

11

आपका SQL कथन केवल शीर्षक को पूर्ण इकाई नहीं देता है।

बदलें:

Select top 1 title From tbl_search Where [email protected] and [email protected] 

रहे हैं: क्योंकि मैं अपने पिछले चयन में एक '@StartDate' था

Select top 1 * From tbl_search Where [email protected] and [email protected] 
+0

@codewrox आपके उत्तर +1 के लिए धन्यवाद – pejman

+2

@codewrox मुझे आईडी की आवश्यकता नहीं है, इस तरह से ऐसा करने का कोई तरीका नहीं है? – pejman

+2

@pejman 'db.Database.SqlQuery (...)' – codeworx

0

मैं इस मुद्दे को हल और asp.net इसे पढ़ा नहीं कर सकता है और के रूप में यह लौटे 'कॉलम 1', इसलिए मैंने इसे एक चर के लिए @StartDate असाइन करके हल किया है जो वैसे भी अच्छा अभ्यास है।

संबंधित मुद्दे