আমার মতো সুপার নুবসের জন্য কীভাবে বা কী বোঝাতে চেয়েছিল তা ভাবছেন
PRAGMA table_info('table_name')
নীচে প্রদর্শিত হিসাবে আপনি এটি আপনার প্রস্তুত বিবৃতি হিসাবে ব্যবহার করতে চান। এটি করা এমন একটি সারণী নির্বাচন করে যা দেখতে আপনার টেবিলের সাথে সম্পর্কিত মানগুলি দ্বারা সজ্জিত ব্যতীত এটির মতো দেখায়।
cid name type notnull dflt_value pk
---------- ---------- ---------- ---------- ---------- ----------
0 id integer 99 1
1 name 0 0
যেখানে আইডি এবং নাম আপনার কলামগুলির প্রকৃত নাম। সুতরাং এই মানটি পেতে আপনার ব্যবহার করে কলামের নাম নির্বাচন করতে হবে:
//returns the name
sqlite3_column_text(stmt, 1);
//returns the type
sqlite3_column_text(stmt, 2);
যা বর্তমান সারির কলামের নাম ফিরিয়ে দেবে। এগুলি সব গ্রাহ্য করতে বা আপনি যা চান তা সন্ধান করার জন্য আপনাকে সমস্ত সারি দিয়ে পুনরাবৃত্তি করতে হবে। এটি করার সহজ উপায় নীচের পদ্ধতিতে হবে।
//where rc is an int variable if wondering :/
rc = sqlite3_prepare_v2(dbPointer, "pragma table_info ('your table name goes here')", -1, &stmt, NULL);
if (rc==SQLITE_OK)
{
//will continue to go down the rows (columns in your table) till there are no more
while(sqlite3_step(stmt) == SQLITE_ROW)
{
sprintf(colName, "%s", sqlite3_column_text(stmt, 1));
//do something with colName because it contains the column's name
}
}
SQLite.swift
, এই প্রশ্নটি দেখুন এবং কলাম নামগুলির একটি সাধারণ তালিকার জন্য বা মাইগ্রেশন সম্পর্কিত সমস্যার জন্য এই উত্তরটি দেখুন ।