2009-11-02 10 views
6

मुझे आश्चर्य है अगर किसी की मदद कर सकते हैं:पुनः प्राप्त ADO Recordset फील्ड के नाम (क्लासिक एएसपी)

लंबी कहानी संक्षेप में, मैं MSSQL2005 उपयोग कर रहा हूँ एक पाइवट टेबल बनाने के लिए। डेटा जांच की जा रही दिनांक सीमा के अनुसार (1 सप्ताह के लिए सबसे पास सोमवार से तारीख चयनित करने के लिए सभी डेटा)

जब मैं संग्रहित प्रोक चलाने के लिए और यह एक तारीख से पारित सीमित है, मैं वापस आ गया जैसे सही तालिका मिलती है:

समय | 1 जनवरी 09 | 2 जनवरी 09 | 3 जनवरी 09 | ...

09:00 | 0 | 9 | 25 | ...

09:30 | 8 | 27 | 65 | ...

10:00 | 20 | 44 | 112 | ...

(अत्याचारी "तालिका" स्वरूपण के लिए माफ़ी)।

मेरी एकमात्र समस्या यह है कि कॉलम हेडर एसपी (वांछित दृश्य दिनांक) में पारित तिथि और एसपी के अंदर तर्क दोनों के आधार पर अलग-अलग होंगे (जो बाएं हाथ के स्तंभ को निकटतम होने के लिए मजबूर करता है निर्दिष्ट तिथि से सोमवार)।

इसका मतलब यह है कि जब मैं उपयोगकर्ता के लिए परिणाम प्रदर्शित, मैं (वर्तमान में) क्लासिक एएसपी में तारीख की जाँच तर्क नकल करने की जरूरत है [आसान है, लेकिन एक रख-रखाव की असफल]

क्या मैं सच में की जरूरत का एक तरीका है रिकॉर्डसेट से कॉलम नामों को पुनः प्राप्त करना।

क्या कोई मुझे सही दिशा में इंगित कर सकता है?

मैंने गुगल किया है लेकिन मुझे लगता है कि सभी परिणाम एक टेबल स्कीमा पढ़ने से संबंधित हैं - जो इस मामले में मदद नहीं करता क्योंकि मेरी तालिका मेमोरी में फ्लाई पर उत्पन्न हो रही है।

foreach (field in rs.Fields) 
{ 
    alert(field.Name); 
} 

यह आपको नाम दे देंगे:

अग्रिम में बहुत धन्यवाद किसी भी मदद के लिए

उत्तर

7

प्रदान कर सकते हैं सेट आप मोटे तौर पर निम्नलिखित (यह छद्म कोड में है) कर सकता है एक हलचल के रिकॉर्ड को देखते हुए क्षेत्र के इस documentation देखें।

+0

कि शर्मनाक आसान था - .Name संपत्ति का उपयोग करें। कहने की जरूरत नहीं है कि यह पूरी तरह से काम किया। धन्यवाद। – Basic

+0

कोई समस्या नहीं, मदद करने में खुशी हुई! – JoshBerke

+0

यह देखते हुए कि 'नाम' दस्तावेज नहीं है (उदा।) [यहां] (http://www.w3schools.com/ado/ado_ref_recordset.asp), मैं बहुत शर्मिंदा नहीं होगा। – iconoclast

4

कुछ इस तरह यह करना चाहिए: -

<table> 
    <thead> 
     <tr> 
     <%For Each fld in rst.Fields%> 
      <th><span><%=Server.HTMLEncode(fld.Name)%></span></th> 
     <%Next %> 
     </tr> 
    </thead> 
    <tbody> 
<% 
    Do Until rst.EOF 
     OutputRow rst.Fields 
     rst.MoveNext 
    Loop 
%> 
    </tbody> 
</table> 

Sub OutputRow(fields) 
%> 
     <tr> 
     <%For Each fld in fields%> 
      <td><span><%=Server.HTMLEncode(fld.Name)%></span></td> 
     <%Next %> 
     </tr> 
<% 
End Sub 
%> 
+0

मैं इसे अपने कोड के लिए उपयोग कर रहा हूं लेकिन कॉलम शीर्षलेख प्रत्येक पंक्ति पर प्रदर्शित होते हैं? –

+0

@ बेनहेमिल्टन बिट देर से, लेकिन सब को HTMLEncode fld.Value संपादित नहीं करें fld.Name – Albofish

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