پرش به مطلب اصلی

db_query

هشدار

This function starts with a lowercase letter.

توضیحات

این تابع برای اجرای یک کوئری SQL روی پایگاه داده SQLite باز شده استفاده می‌شود.

نامتوضیحات
DB:dbهندل پایگاه داده برای کوئری کردن.
query[]کوئری برای اجرا.

مقادیر بازگشتی

ایندکس نتیجه کوئری (شروع از 1) در صورت موفقیت، در غیر این صورت 0.

مثال‌ها

// entity_storage.inc

EntityStorage_SpawnAll(DB:connectionHandle)
{
// انتخاب همه ورودی‌ها در جدول "entities"
new DBResult:db_result_set = db_query(connectionHandle, "SELECT * FROM `entities`");

// اگر هندل مجموعه نتایج پایگاه داده معتبر است
if (db_result_set)
{
// انجام کاری...

// آزادسازی مجموعه نتایج
db_free_result(db_result_set);
}
}
// mode.pwn

#include <entity_storage>

static DB:gDBConnectionHandle;

// ...

public OnGameModeInit()
{
// ...

// ایجاد اتصال به پایگاه داده
gDBConnectionHandle = db_open("example.db");

// اگر اتصال به پایگاه داده وجود دارد
if (gDBConnectionHandle)
{
// اتصال به پایگاه داده با موفقیت ایجاد شد
print("Successfully created a connection to database \"example.db\".");
EntityStorage_SpawnAll(gDBConnectionHandle);
}
else
{
// ایجاد اتصال به پایگاه داده ناموفق بود
print("Failed to open a connection to database \"example.db\".");
}

// ...

return 1;
}

public OnGameModeExit()
{
// بستن اتصال به پایگاه داده در صورت باز بودن اتصال
if (db_close(gDBConnectionHandle))
{
// پاکسازی اضافی
gDBConnectionHandle = DB:0;
}

// ...

return 1;
}

نکات

هشدار

همیشه نتایج را با استفاده از db_free_result آزاد کنید!

توابع مرتبط

  • db_open: باز کردن اتصال به پایگاه داده SQLite
  • db_close: بستن اتصال به پایگاه داده SQLite
  • db_free_result: آزادسازی حافظه نتیجه از db_query
  • db_num_rows: دریافت تعداد ردیف‌ها در نتیجه
  • db_next_row: حرکت به ردیف بعدی
  • db_num_fields: دریافت تعداد فیلدها در نتیجه
  • db_field_name: برگرداندن نام فیلد در ایندکس مشخص
  • db_get_field: دریافت محتوای فیلد با ID مشخص از ردیف نتیجه فعلی
  • db_get_field_assoc: دریافت محتوای فیلد با نام مشخص از ردیف نتیجه فعلی
  • db_get_field_int: دریافت محتوای فیلد به عنوان عدد صحیح با ID مشخص از ردیف نتیجه فعلی
  • db_get_field_assoc_int: دریافت محتوای فیلد به عنوان عدد صحیح با نام مشخص از ردیف نتیجه فعلی
  • db_get_field_float: دریافت محتوای فیلد به عنوان عدد اعشاری با ID مشخص از ردیف نتیجه فعلی
  • db_get_field_assoc_float: دریافت محتوای فیلد به عنوان عدد اعشاری با نام مشخص از ردیف نتیجه فعلی
  • db_get_mem_handle: دریافت هندل حافظه برای پایگاه داده SQLite که با db_open باز شده
  • db_get_result_mem_handle: دریافت هندل حافظه برای کوئری SQLite که با db_query اجرا شده
  • db_debug_openfiles: دریافت تعداد اتصالات باز پایگاه داده برای اهداف دیباگ
  • db_debug_openresults: دریافت تعداد نتایج باز پایگاه داده