如果需要指定VisonDAL的包含属性. 在 "配置属性"/"C/C++" 菜单下添加MYSQL的头文件路径, 例如像这样: C:Program FilesMySQLMySQL Server 5.6include.
下面我们在“C/C++”/"预编译头"菜单栏中,从“预编译头”切换到“不使用预编译头”,设置Preproccessor定义防止使用strcpy和fopen时产生的错误消息:在"C/C++"/预编译器/"预编译器定义 "中设定SE_STANDARD_FILE_FUNCTIONS和_CRT_SECURE_NO_WARNINGS。
当你现在连接,mysqllib引用的问题并没有解决,因为它们是64位处理器。通过在VisionDal中打开工程属性,选择“配置管理”,然后设置为x64平台。
现在我们来创建名为 Vision 的样本数据库
打开SQL Development 中的 MySql 工作台,打开你的实例。将会出现一个新窗口 "SQL File 1" 。 双击VisionDAL项目中的 Sql.txt 文件。复制所有内容到剪贴板,粘贴到工作台中的"SQL File 1"窗口。 点击螺栓图标(左边第三个图标),创建样本数据库。
接下来我们需要用来数据库登录的通用信息。
我们有一个关于此的配置文件: <installation director>VisionSmallx64DebugVisionConfiguration.txt, 看起来像这样:
修改这些数值以匹配你的SQL-Configuration。
Vision 数据库
数据库中只有一张表
| CREATE TABLE 'document' ( 'DocumentID' int(11) NOT NULL AUTO_INCREMENT, 'Title' varchar(255) DEFAULT NULL, 'Text' text, PRIMARY KEY ('DocumentID'), FULLTEXT KEY 'ft' ('Title','Text'), FULLTEXT KEY 'ftTitle' ('Title') ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; |
搜索的时候我们使用名为'ft'的全文索引,查找自动完成单词的时候我们使用名为'ftTitle'的全文索引。
如果你拥有一个很多字段的全文索引,你可以在Microsoft SQL Server中选择,查询的时候,哪个字段被包含进搜索。在MySQL中,通常全文索引的所有字段都被搜索,所以我们必须指定额外的全文索引'ftTitle'。
通过C接口进行MySQL查询
首先呢,为了执行查询我们需要连接到数据库并取得一个MYSQL的指针:
| MYSQL *Connect(){ MYSQL *conn; // Connection // 连接到MySQL conn = mysql_init(NULL); if(mysql_real_connect( conn, Configuration.Host, Configuration.User, Configuration.Password, Configuration.Database, Configuration.Port, NULL, 0) == NULL) { fprintf(stderr, "sorry, no database connection ...n"); return NULL; } return conn; } |
在启动的时候我们把VisionConfiguration.txt文件里的变量赋值到全局变量, 这个文件应该和我们的程序在同一目录. 这是一个例行操作.获取当前运行程序目录是通过Win32 API的GetModuleFileName函数,如下:










