int *pos = (int*)param->buf;
save_str (table[tables][*pos].name, azArg[1]);
table[tables][*pos].type = (COLUMN_TYPE)atoi(azArg[2]);
table[tables][*pos].width = atoi(azArg[3]);
table[tables][*pos].ref_tid = atoi(azArg[4]) - 1;
if (table[tables][*pos].type != CT_COMBO_EX)
table[tables][*pos].ref_cid = atoi(azArg[5]) - 1;
else
table[tables][*pos].ref_cid = atoi(azArg[5]);
++*pos;
break;
}
default:
error_msg ("callback_proc() failed ! unknown mode !");
}
return 0;
}
int exec_sql_cmd (const char * cmd, callback_param_t * param)
{
if (param && param->mode & MODE_DEBUG)
{
char * msg;
param->mode ^= MODE_DEBUG;
int rc = sqlite3_exec (sql_db, cmd, (sqlite3_callback)callback_proc, param, &msg);
if (rc)
{
error_msg (msg);
free (msg);
}
return rc;
}
else
return sqlite3_exec (sql_db, cmd, (sqlite3_callback)callback_proc, param, NULL);
}
/* инициализация базы данных - SQLite 3.3.5 */
int db_init()
{
int res = sqlite3_open ("MetaDB.db", &sql_db);
if (res == SQLITE_OK)
{
res = exec_sql_cmd ("CREATE TABLE tables"
"(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE,"
"x1 INTEGER DEFAULT 0, y1 INTEGER DEFAULT 0,"
"x2 INTEGER DEFAULT 0, y2 INTEGER DEFAULT 0)", NULL);
column_t table1[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Компания", CT_TEXT, 100, 0, 0},
{"Адрес", CT_TEXT, 200, 0, 0}
};
create_table("Компании", ASIZE(table1), table1);
column_t table2[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Имя сокета", CT_TEXT, 100, 0, 0}
};
create_table("Проц. разъемы (sockets)", ASIZE(table2), table2);
column_t table3[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Компания", CT_COMBO, 100, 1, 2},
{"Имя", CT_TEXT, 100, 0, 0},
{"Сокет", CT_COMBO, 100, 2, 2},
{"Частота", CT_TEXT, 75, 0, 0},
{"Цена", CT_TEXT, 50, 0, 0}
};
create_table("Процессоры", ASIZE(table3), table3);
column_t table4[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Компания", CT_COMBO, 100, 1, 2},
{"Объем", CT_TEXT, 75, 0, 0},
{"Цена", CT_TEXT, 50, 0, 0}
};
create_table("Оперативная память", ASIZE(table4), table4);
column_t table5[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Компания", CT_COMBO, 100, 1, 2},
{"Имя", CT_TEXT, 100, 0, 0},
{"Сокет", CT_COMBO, 100, 2, 2},
{"Цена", CT_TEXT, 50, 0, 0}
};
create_table("Материнские платы", ASIZE(table5), table5);
column_t table6[] =
{
{"ID", CT_CONST, 30, 0, 0},
{"Компания", CT_COMBO, 100, 1, 2},
{"Объем", CT_TEXT, 75, 0, 0},
{"Цена", CT_TEXT, 50, 0, 0}
};
create_table("Жесткие диски", ASIZE(table6), table6);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.