如题,我想用C++来调用jeesite的库中的内容。
现在的问题是,项目之前用的jeesite的web库是基于mysql的,而我已经能够使用C++连接mysql库,但是对于如何调用库中的内容却不知道该怎么做。。。
因为不清楚之前上传到jeesite里的内容,是否就存储在名为jeesite的那个mysql库里?好像C++调用那个库的时候显示没法查询库中的内容?
而C++调用mysql库的代码如下:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//下面两个头文件的顺序不能颠倒
#include "winsock2.h"
#include "windows.h"
#include "mysql.h"
using namespace std;
void main()
{
MYSQL *pConn;
pConn = mysql_init(NULL);
//第2、3、4、5参数的意思分别是:服务器地址、用户名、密码、数据库名,第6个为mysql端口号(0为默认值3306)
if(!mysql_real_connect(pConn,"localhost","root","wtk123","jeesite",3306,NULL,0))
{
printf("无法连接数据库:%s",mysql_error(pConn));
return;
}
mysql_query(pConn,"set names gbk");//防止乱码。设置和数据库的编码一致就不会乱码
//SET NAMES x 相当于 SET character_set_client = x;SET character_set_results = x;SET character_set_connection = x;
//写set character set gbk;查询不会乱码,但是参数化插入会报错。而set names gbk则都不会乱码
//mysql_real_query比mysql_query多了个参数: 字符串query的长度, 所以适合有二进制数据的query, 而mysql_query的字符串query不能包含二进制,因为它以\0为结尾
//mysql_query() 不能传二进制BLOB字段,因为二进制信息中的\0会被误判为语句结束。 mysql_real_query() 则可以。
if(mysql_query(pConn,"select * from 大臂"))
{
printf("查询失败:%s",mysql_error(pConn));
return;
}
//mysql_store_result是把查询结果一次性取到客户端的离线数据集,当结果比较大时耗内存。
//mysql_use_result则是查询结果放在服务器上,客户端通过指针逐行读取,节省客户端内存。但是一个MYSQL*连接同时只能有一个未关闭的mysql_use_result查询
MYSQL_RES *result = mysql_store_result(pConn);
MYSQL_ROW row;
while(row = mysql_fetch_row(result))
{
printf("%s %s\n",row[1],row[2]);
}
mysql_free_result(result);
mysql_close(pConn);
}
调试后的结果如下:
可见同样是搜索一样的名字,C++却显示是空的?!
求问应该怎么做呢?如何才能在C++搜索并调用jeesite的库中想要的内容乃至于进一步地下载资源?
注:jeesite的web库中提供了可下载的途径,现在我的问题是,如何在C++端编代码实现在C++端能够搜索、调用、下载所需的库中的资源呢?
jeesite库中的资源具体情况如下图所示,可以看到,在网页端是可以下载的