示例#1
0
文件: mysql.cpp 项目: 10jschen/acl
int main(void)
{

	const char* dbaddr = "127.0.0.1:16811";
	const char* dbname = "inc365_antispam_db";
	const char* dbuser = "******", *dbpass = "";
	acl::db_mysql db(dbaddr, dbname, dbuser, dbpass);

	// 允许将错误日志输出至屏幕
	acl_msg_stdout_enable(1);

	if (db.open(NULL) == false)
	{
		printf("open db(%s) error\r\n", dbname);
		getchar();
		return 1;
	}

	printf("open db %s ok\r\n", dbname);

	int  ret = tbl_select(db);
	if (ret >= 0)
	{
		printf(">>select ok\r\n");
	}
	else
		printf(">>select error\r\n");

	printf("mysqlclient lib's version: %ld, info: %s\r\n",
		db.mysql_libversion(), db.mysql_client_info());
	return 0;
}
示例#2
0
文件: sqlite.cpp 项目: lunlun1992/acl
int main(void)
{
    acl::string dbfile("测试.db");
    acl::db_sqlite db(dbfile);
    int   max = 100;

    if (db.open() == false)
    {
        printf("open dbfile: %s error\r\n", dbfile.c_str());
        getchar();
        return 1;
    }

    printf("open dbfile %s ok\r\n", dbfile.c_str());

    if (tbl_create(db) == false)
    {
        printf("create table error\r\n");
        getchar();
        return 1;
    }

    // 配置数据库引擎
    db.set_conf("PRAGMA synchronous = off");
    db.set_conf("PRAGMA encoding = \"UTF-8\"");
    acl::string buf;
    if ((db.get_conf("PRAGMA encoding", buf)))
        printf(">>PRAGMA encoding: %s\r\n", buf.c_str());
    db.show_conf();

    acl::meter_time(__FILE__, __LINE__, "---begin insert---");
    for (int i = 0; i < max; i++)
    {
        bool ret = tbl_insert(db, i);
        if (ret)
            printf(">>insert ok: i=%d, affected: %d\r",
                   i, db.affect_count());
        else
            printf(">>insert error: i = %d\r\n", i);
    }
    printf("\r\n");
    printf(">>insert total affect: %d\n", db.affect_total_count());

    acl::meter_time(__FILE__, __LINE__, "---end insert---");
    acl::meter_time(__FILE__, __LINE__, "---begin select---");

    int  n = 0;
    for (int i = 0; i < max; i++)
    {
        int  ret = tbl_select(db, i);
        if (ret >= 0)
        {
            n += ret;
            printf(">>select ok: i=%d, ret=%d\r", i, ret);
        }
        else
            printf(">>select error: i = %d\r\n", i);
    }
    printf("\r\n");
    printf(">>select total: %d\r\n", n);
    acl::meter_time(__FILE__, __LINE__, "---end select---");

    acl::meter_time(__FILE__, __LINE__, "---begin delete---");
    for (int i = 0; i < max; i++)
    {
        bool ret = tbl_delete(db, i);
        if (ret)
            printf(">>delete ok: %d, affected: %d\r",
                   i, (int) db.affect_count());
        else
            printf(">>delete error: i = %d\r\n", i);
    }
    printf("\r\n");
    printf(">>delete total affected: %d\n", db.affect_total_count());
    acl::meter_time(__FILE__, __LINE__, "---end delete---");

    printf("Enter any key to exit.\r\n");
    getchar();
    return 0;
}
示例#3
0
	void* run()
	{
		int n = 0;

		for (int i = 0; i < max_; i++)
		{
			acl::db_handle* db = pool_.peek_open();
			if (db == NULL)
			{
				printf("peek db connection error\r\n");
				break;
			}

			bool ret = tbl_insert(*db, i);
			if (ret)
			{
				printf(">>insert ok: i=%d, affected: %d\r",
					i, db->affect_count());
				n++;
			}
			else
				printf(">>insert error: i = %d\r\n", i);

			pool_.put(db);
		}
		printf("\r\n");
		printf(">>insert total: %d\r\n", n);

		n = 0;
		// 批量查询数据
		for (int i = 0; i < max_; i++)
		{
			acl::db_handle* db = pool_.peek_open();
			if (db == NULL)
			{
				printf("peek db connection error\r\n");
				break;
			}

			int  ret = tbl_select(*db, i);
			if (ret >= 0)
			{
				n += ret;
				printf(">>select ok: i=%d, ret=%d\r", i, ret);
			}
			else
				printf(">>select error: i = %d\r\n", i);

			pool_.put(db);
		}
		printf("\r\n");
		printf(">>select total: %d\r\n", n);

		// 批量删除数据
		for (int i = 0; i < max_; i++)
		{
			acl::db_handle* db = pool_.peek_open();
			if (db == NULL)
			{
				printf("peek db connection error\r\n");
				break;
			}

			bool ret = tbl_delete(*db, i);
			if (ret)
				printf(">>delete ok: %d, affected: %d\r",
					i, (int) db->affect_count());
			else
				printf(">>delete error: i = %d\r\n", i);

			pool_.put(db);
		}
		printf("\r\n");

		return NULL;
	}