コード例 #1
0
ファイル: system_database.c プロジェクト: YasirLiang/suntrun1
// 查表中所有记录(即所有的配置信息)已测试(20-2-2016)
int system_db_queue_configure_system_table( thost_system_set* p_config )
{
	char **db_result = NULL;
	int nrow, ncolumn, i = 0, ret = -1;
	uint8_t flag[sizeof(thost_system_set)] = {0};
	
	if( p_config == NULL )
		return -1;

	INIT_ZERO( gsql, SQL_STRING_LEN );
	sprintf( gsql, "select* from %s;", SYS_DB_SYSTEM_SET_TABLE );
	db_get_table( gsystem_db, gsql, strlen(gsql), &db_result, &nrow, &ncolumn );
	if( db_result != NULL )
	{
		if( nrow != 0 && ncolumn != 0 )
		{
#ifdef __SYSTEM_DB_DEBUG__
			system_db_table_result_print( nrow, ncolumn, db_result );
#endif
			for( i = 0; i < sizeof(thost_system_set); i++ )
			{
				flag[i] = atoi( db_result[ncolumn+i]);
			}

			memcpy( p_config, flag, sizeof(thost_system_set));
			ret = 0;
		}
	}
	
	return ret;
}
コード例 #2
0
ファイル: custom-category.c プロジェクト: mahiso/JudoShiai
void read_custom_from_db(void)
{
    gint n, page, rows;
    int len;
    unsigned char *data;

    num_custom_brackets = 0;

    // find out the blob keys
    if ((rows = db_get_table("SELECT \"key\" FROM blobs")) > 0) {
        for (n = 0; n < rows; n++) {
            guint a = atoi(db_get_data(n, "key"));
            if ((a & 0x1f) == 0 && num_custom_brackets < NUM_CUSTOM_BRACKETS)
                hash_values[num_custom_brackets++] = a;
        }
    }
    if (rows >= 0) db_close_table();

    LOG("%d custom brackets", num_custom_brackets);
    for (n = 0; n < num_custom_brackets; n++) {
        unsigned char *blob = NULL;
        db_read_blob(hash_values[n], &blob, &len);
        if (blob) {
            custom_brackets[n] = g_malloc0(sizeof(struct custom_data));
            decode_custom_data(blob, len, custom_brackets[n]);
            free(blob);
        }

        if (custom_brackets[n] == NULL) {
            num_custom_brackets = n;
            g_print("ERROR: cannot read blob %d\n", n);
            break;
        }

        for (page = 1; page <= 10; page++) {
            db_read_blob(hash_values[n] | page, &data, &len);
            if (data == NULL) {
                if (page == 1) {
                    g_print("ERROR: Cannot read svg data from db\n");
                }
                break;
            }
            add_custom_svg((gchar *)data, len, hash_values[n], page);
#if 0
            gchar buf[32];
            sprintf(buf, "%x.svg", (n << 8) | page);
            if (g_file_set_contents(buf, (gchar *)data, len, NULL))
                g_print("g_file_set_contents %s OK len=%d\n", buf, len);
            else
                g_print("g_file_set_contents %s NOK len=%d\n", buf, len);
#endif
        }
    }
}
コード例 #3
0
ファイル: db_test.c プロジェクト: fadec/sqlpilot
void test_db(void)
{
	DB *mydb;
	DBResults *results;
	char *errormsg;

	mydb = db_open("test.db");
	results = db_get_table(mydb, "select * from memos;", &errormsg);

	assert_equal_str(db_results_table_lookup(results, 0, 0), "Hello");
	assert_equal_str(db_results_table_lookup(results, 0, 1), "World");
	assert_equal_str(db_results_table_lookup(results, 1, 0), "Yes");
	assert_equal_str(db_results_table_lookup(results, 1, 1), "No");

	assert_equal_str(db_results_column_name(results, 0), "subject");
	assert_equal_str(db_results_column_name(results, 1), "body");

	db_results_free(results);
	db_close(mydb);
}