Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

परिणामसेट के माध्यम से लूपिंग

RDBMS को एक्सेस करते समय, आपको जो ResultSet मिलता है, वह आमतौर पर रो-ओरिएंटेड होता है। दूसरे शब्दों में, जब भी आप ResultSet::next() को कॉल करते हैं, तो कर्सर अगली पंक्ति में चला जाता है। इसलिए आपका लूप

for (int i = 0; i < columncount; i++)
{                 
    while (res->next())
    {
        ...
    }
}

केवल पहली विशेषता दिखा रहा है।

आम तौर पर आप आंतरिक और बाहरी छोरों को स्विच करते हैं जैसे कि

while (res->next())
{
    for (int i = 0; i < columncount; i++)
    {
        ...
    }
}

लेकिन अगर आपको वास्तव में एक समय में एक कॉलम तक पहुंचने की आवश्यकता है, तो आपको यह जांचना होगा कि क्या परिणामसेट आपको कर्सर को पहली पंक्ति में रीसेट करने की अनुमति देता है। यदि नहीं, तो आपको या तो डेटा को कैश करना होगा, या एक ही SQL क्वेरी को बार-बार जारी करना होगा।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गतिशील चयन विकल्प php और mysql

  2. cPanel में MySQL डेटाबेस को कैसे रिपेयर करें?

  3. PHP ऐप में लंबित AJAX अनुरोध रद्द करें?

  4. जावा स्ट्रिंग ऐरे के साथ मैसकल संग्रहीत प्रक्रिया

  5. शर्तों के साथ बाएं बाहरी शामिल हों (जहां, आदेश दें)?