Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 7
    Гостей: 1
    Пользователи: - отсутствуют
    Роботы: Yandex Bot, Yandex Bot, Yandex Bot, crawl Bot, Yandex Bot, Yandex Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 2-11-2012, 22:03 Просмотров: 3017
    Функция создает дескриптор БД из файла конфига sql.cfg
    Инфо из sql.inc:
    stock Handle:SQL_MakeStdTuple(timeout = 0)
    {
        static host[64], user[32], pass[32], db[128];
        static get_type[12], set_type[12];
        
        get_cvar_string("amx_sql_host", host, 63);
        get_cvar_string("amx_sql_user", user, 31);
        get_cvar_string("amx_sql_pass", pass, 31);
        get_cvar_string("amx_sql_type", set_type, 11);
        get_cvar_string("amx_sql_db", db, 127);
        
        SQL_GetAffinity(get_type, 12);
        
        if (!equali(get_type, set_type))
        {
            if (!SQL_SetAffinity(set_type))
            {
                log_amx("Failed to set affinity from %s to %s.", get_type, set_type);
            }
        }
        
        return SQL_MakeDbTuple(host, user, pass, db, timeout);
    }
    Автор: Admin Дата: 2-11-2012, 22:00 Просмотров: 2604
    Используйте данную функцию для того что бы не заботится об ошибки после запроса.

    Инфо из sql.inc:
    stock SQL_QueryAndIgnore(Handle:db, const queryfmt[], any:...)
    {
        static query[4096];
        new Handle:hQuery;
        new ret;
        
        vformat(query, sizeof(query)-1, queryfmt, 3);
        
        hQuery = SQL_PrepareQuery(db, "%s", query);
        
        if (SQL_Execute(hQuery))
        {
            ret = SQL_AffectedRows(hQuery);
        } else {
            ret = -1;
        }
        
        SQL_FreeHandle(hQuery);
        
        return ret;
    }
    Автор: Admin Дата: 2-11-2012, 21:13 Просмотров: 1900
    Функция аналогична функции SQL_SimpleQuery, но имеет возможность форматирования запроса.

    Инфо из sql.inc:
    /**
    * Use this for executing a query where you don't care about the result.
    * Returns 0 on failure, 1 on success
    */
    stock SQL_SimpleQueryFmt(Handle:db, error[]="", maxlength=0, &rows=0, const fmt[], any:...)
    {
        static query_buf[2048];
        vformat(query_buf, 2047, fmt, 6);
        
        new Handle:hQuery = SQL_PrepareQuery(db, "%s", query_buf);
        
        if (!SQL_Execute(hQuery))
        {
            SQL_QueryError(hQuery, error, maxlength);
            SQL_FreeHandle(hQuery);
            return 0;
        }
        
        rows = SQL_NumResults(hQuery);
        
        SQL_FreeHandle(hQuery);
        
        return 1;
    }
    Автор: Admin Дата: 2-11-2012, 21:07 Просмотров: 2598
    Иногда нет необходимости в точности данных и результат запроса не столь важен, но зато не страдают ресурсы на перевыполнения запроса.
    Функция SQL_SimpleQuer отправил запрос к базе данных:
    Инфо из sql.inc:
    /**
    * Use this for executing a query where you don't care about the result.
    * Returns 0 on failure, 1 on success
    */
    stock SQL_SimpleQuery(Handle:db, const query[], error[]="", maxlength=0, &rows=0)
    {
        new Handle:hQuery = SQL_PrepareQuery(db, "%s", query);
        
        if (!SQL_Execute(hQuery))
        {
            SQL_QueryError(hQuery, error, maxlength);
            SQL_FreeHandle(hQuery);
            return 0;
        }
        
        rows = SQL_NumResults(hQuery);
        
        SQL_FreeHandle(hQuery);
        
        return 1;
    }
    Автор: Admin Дата: 2-11-2012, 20:58 Просмотров: 3156
    Инфо из sql.inc:
    /**
    * This function can be used to find out if a table in a Sqlite database exists.
    * (updated for newer API)
    */
    stock bool:sqlite_TableExists(Handle:db, const table[])
    {
        new Handle:query = SQL_PrepareQuery(
                        db,
                        "SELECT name FROM sqlite_master WHERE type='table' AND name='%s' LIMIT 1;",
                        table);
                        
        if (!SQL_Execute(query) || !SQL_NumResults(query))
        {
            SQL_FreeHandle(query);
            return false;
        }
        
        SQL_FreeHandle(query);

        return true;
    }
    Автор: Admin Дата: 2-11-2012, 20:49 Просмотров: 2003
    Инфо из sql.inc:
    /**
    * For queries which return multiple result sets, this advances to the next
    * result set if one is available.  Otherwise, the current result set is
    * destroyed and will no longer be accessible.
    *
    * This function will always return false on SQLite, and when using threaded
    * queries in MySQL.  Nonetheless, it has the same effect of removing the last
    * result set.
    *
    * @param query        Query Handle.
    * @return            True on success, false on failure.
    */
    native bool:SQL_NextResultSet(Handle:query);
    Автор: Admin Дата: 2-11-2012, 18:45 Просмотров: 2529
    С помощью функции SQL_SetAffinity возможно задать необходимый драйвер для использования модулем.
    Инфо из sql.inc:

    native SQL_SetAffinity(const driver[]);
Наверх

Реклама