2010-07-20 8 views
9

मैं सोच रहा था कि मेरे डेटाबेस की संरचना को सत्यापित करने का "सर्वोत्तम" तरीका Qt/C++ में SQLite के साथ है। मैं SQLite का उपयोग कर रहा हूं इसलिए एक फ़ाइल है जिसमें मेरा डेटाबेस है, और मैं यह सुनिश्चित करना चाहता हूं कि, प्रोग्राम लॉन्च करते समय, डेटाबेस को जिस तरीके से बनाया जाना चाहिए- यानी, इसमें एक्स टेबल प्रत्येक के अपने स्वयं के वाई कॉलम हैं , उचित नाम, आदि। क्या कोई मुझे सही दिशा में इंगित कर सकता है? बहुत बहुत धन्यवाद!डेटाबेस की संरचना सत्यापित करें? (सी ++/क्यूटी में SQLite)

उत्तर

6

आपने इस क्वेरी के साथ डेटाबेस में सभी तालिकाओं की एक सूची प्राप्त कर सकते हैं:

select tbl_name from sqlite_master; 

और फिर के लिए प्रत्येक तालिका लौट आए, इस क्वेरी चलाने पाने के लिए स्तंभ जानकारी

pragma table_info(my_table); 

के लिए प्रज्ञा, परिणाम सेट की प्रत्येक पंक्ति में निम्न शामिल होंगे: कॉलम इंडेक्स, कॉलम नाम, कॉलम का प्रकार एफ़िनिटी, चाहे कॉलम न्यूल हो और कॉलम का डिफ़ॉल्ट मान हो।

(मैं यहाँ यह सोचते कर रहा हूँ आप जानते हैं कि SQLite सी इंटरफ़ेस में अपने डेटाबेस के खिलाफ एसक्यूएल प्रश्नों को चलाने के लिए कैसे।)

+0

बिल्कुल, मुझे सही रास्ते पर सेट करने के लिए धन्यवाद! – Joseph

2

आप क्यूटी है और इस तरह QtSql हाथ में हैं, तो आप भी उपयोग कर सकते हैं QSqlDatabase::tables() (API doc) फ़ील्ड नाम प्राप्त करने के लिए टेबल और QSqlDatabase::record(tablename) प्राप्त करने के लिए विधि। यह आपको प्राथमिक कुंजी भी दे सकता है, लेकिन अधिक जानकारी के लिए आपको table_info प्रागमा का उपयोग करने के लिए पीख की सलाह का पालन करना होगा।

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