यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
SQLite डेटाबेस कैसे खोलें या बनाएँ
उद्देश्य. एक SQLite डेटाबेस खोलना (या यदि मौजूद न हो तो बनाना) और उसकी टेबल बनाना। CrossFly में प्रवेश द्वार SqliteDb है, एक AutoCloseable हैंडल — नेटिव कनेक्शन के बंद होने की गारंटी के लिए हमेशा try (...) उपयोग करें।
उपयोग किए गए APIs
SqliteDb.open(String filename)— read/write में एक अनएन्क्रिप्टेड डेटाबेस खोलता/बनाता है (OPEN_DEFAULT = OPEN_READWRITE | OPEN_CREATE)। एकSqliteDbलौटाता है।SqliteDb.openMemory()— एक इन-मेमोरी डेटाबेस (:memory:) खोलता है, अस्थिर: बंद होने पर गायब हो जाता है। परीक्षण और अस्थायी कैश के लिए आदर्श।SqliteDb.exec(String sql)— एक या अधिक निर्देश बिना परिणाम के चलाता है (DDL, PRAGMA, बैच DML)।CREATE TABLE,CREATE INDEX,PRAGMA ...के लिए उपयोग करें। त्रुटि परSqliteExceptionफेंकता है।SqliteDb.close()— नेटिव कनेक्शन बंद करता है। Idempotent (दो बार कॉल करना सुरक्षित है)।try-with-resourcesइसे स्वचालित रूप से कॉल करता है।SqliteDb.version()— SQLite लाइब्रेरी की संस्करण स्ट्रिंग लौटाता है (डायग्नोस्टिक्स के लिए उपयोगी)।
फ़ाइल पथ. एक लिखने-योग्य फ़ाइल पथ पास करें (प्लेटफ़ॉर्म के अनुसार)। यहाँ किसी भी चीज़ के लिए
Gdx.graphicsका उपयोग न करें; SQLite UI से स्वतंत्र है। प्लेटफ़ॉर्म-अनुसार फ़ाइल स्थान के लिए, storage गाइड देखें।
पूरा उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*; // Window
import dev.crossfly.ui.layout.*; // VerticalLayout
import dev.crossfly.sqlite.*; // SqliteDb, SqliteException
/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
// 1) फ़ाइल में डेटाबेस (यदि मौजूद नहीं तो बनाया गया)
try (SqliteDb db = SqliteDb.open("app.db"))
{
db.exec(
"CREATE TABLE IF NOT EXISTS person(" +
" id INTEGER PRIMARY KEY," +
" name TEXT NOT NULL," +
" age INTEGER)");
// ... यहाँ डेटाबेस का उपयोग करें ...
}
// try से बाहर निकलते ही कनेक्शन बंद हो जाता है
// 2) मेमोरी में डेटाबेस (अस्थिर) — परीक्षण के लिए अच्छा
try (SqliteDb mem = SqliteDb.openMemory())
{
mem.exec("CREATE TABLE t(id INTEGER PRIMARY KEY, v TEXT)");
// ... केवल तब तक जीवित रहता है जब तक 'mem' खुला है ...
}
}
}
नीचे दिया गया अंश केवल मुख्य भाग दिखाता है। इसे चलाने के लिए, इसे ऊपर दिए गए
MainWindowकंकाल में रखें।
न्यूनतम अंश
// स्रोत में सत्यापित: SqliteDb.open / openMemory / exec
import dev.crossfly.sqlite.*;
// 1) फ़ाइल में डेटाबेस (यदि मौजूद नहीं तो बनाया गया)
try (SqliteDb db = SqliteDb.open("app.db"))
{
db.exec(
"CREATE TABLE IF NOT EXISTS person(" +
" id INTEGER PRIMARY KEY," +
" name TEXT NOT NULL," +
" age INTEGER)");
// ... यहाँ डेटाबेस का उपयोग करें ...
}
// try से बाहर निकलते ही कनेक्शन बंद हो जाता है
// 2) मेमोरी में डेटाबेस (अस्थिर) — परीक्षण के लिए अच्छा
try (SqliteDb mem = SqliteDb.openMemory())
{
mem.exec("CREATE TABLE t(id INTEGER PRIMARY KEY, v TEXT)");
// ... केवल तब तक जीवित रहता है जब तक 'mem' खुला है ...
}
और गहराई से जानें
- SQLite storage गाइड · विकास गाइड
- संबंधित रेसिपी: पैरामीटरयुक्त CRUD · एन्क्रिप्टेड डेटाबेस · paint thread के बाहर उपयोग
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!