परिणाम सेट में एक कॉलम की संख्या आपको कोड के साथ मिल सकती है (जैसा कि DB PostgreSQL का उपयोग किया जाता है):
// PostgreSQL के लिए ड्राइवर लोड करें
Class.forName ( "org.postgresql.Driver");
स्ट्रिंग url = "jdbc: postgresql: // localhost / test";
गुण गुण = नए गुण ();
props.setProperty ( "उपयोगकर्ता", "mydbuser");
props.setProperty ( "पासवर्ड", "mydbpass");
कनेक्शन कॉन = DriverManager.getConnection (url, props);
// कथन बनाएँ
स्टेटमेंट स्टेटमेंट = con.createStatement ();
// एक परिणाम सेट प्राप्त करें
ResultSet rs = stat.executeQuery ("Select c1, c2, c3, c4, c5 MY_TABLE से");
// परिणाम सेट से मेटाडेटा दें
ResultSetMetaData rsmd = rs.getMetaData ();
// कॉलम मेटाडेटा ऑब्जेक्ट से गणना करता है
int numOfCols = rsmd.getColumnCount ();
लेकिन आप स्तंभों के बारे में अधिक मेटा-informations प्राप्त कर सकते हैं:
for(int i = 1; i <= numOfCols; i++)
{
System.out.println(rsmd.getColumnName(i));
}
और कम से कम लेकिन कम से कम, आप न केवल तालिका के बारे में, बल्कि डीबी के बारे में भी कुछ जानकारी प्राप्त कर सकते हैं, यह कैसे करें आप यहां और यहां पा सकते हैं ।
ResultSetMetaData
कार्यान्वयन इसे चर लंबाई CSV रिकॉर्ड कैसे संभालता है। उदाहरण यदि आप निर्दिष्ट करते हैंSELECT * FROM sample
और प्रत्येक पंक्ति में अलग-अलग संख्या में फ़ील्ड होते हैं, तो क्या स्तंभ की गणना उस प्रत्येक पंक्ति के लिए पुनर्मूल्यांकन की जाएगी जो इससे अधिक पुनरावृत्त थीं?