基于MySQL数据库应用开发实现嵌入式数控系统的设计

网友投稿 897 2023-04-16

基于MySQL数据库应用开发实现嵌入式数控系统的设计

基于MySQL数据库应用开发实现嵌入式数控系统的设计

1 引言

2 数据库实现

2.1 数据库的建立

2.1.1创建work数据库

首先创建一个名称为work的数据库,并包含系统需要的所有表,作为根用户连接到MySQL。具体创建过程如下:

% mysql –uroot mysql; //进入数据库

mysql》 SET PASSWORD=PASSWORD(‘lyw00001’); //为根用户分配一个口令

mysql》 CREATE DATABASE work ; //创建work数据库

//与根用户使用同一口令,并为用户赋予数据库work的完全访问权限

% mysql –ulyw –p lyw00001 work; //连接库

2.1.2创建表

针对基于GTK+库设计的用户操作界面有若干个表与之相对应,下面以一个界面为例详细说明MySQL与GTK+的连接过程。

连接到数据库之后,就可以向它添加内容了,使用CREATE命令来创建一个名为tbl_amend_amend的表。

CREATE TABLE tbl_amend_amend (

number INT NOT NULL PRIMARY KEY,

shapeh VARCHAR(10),

shaped VARCHAR(10),

deleted VARCHAR(10),);

图1amend_data文本文件

表1tbl_amend_amend表

2.2 连接模块

完成数据库及表的创建,有了相关的数据,下一步的工作就是在应用程序中实现与数据库的连接。应用程序中用connect_to_db()模块实现了与数据库work连接功能,模块代码如下:

void Connect_to_db(){……;

conx = mysql_init((MYSQL *)0L); //初始化

……;

temp = mysql_real_connect(conx,126.0.0.1, lyw,lywcita001, work, 0, 0L, 0);

……;}

mysql_real_connect函数用于连接到名称为conx 的MySQL服务器,其主机的IP地址为“127.0.0.1”,用户名为“lyw”,密码为“lywcita001”,连接的数据库名为work。

2.3 填充模块

实现了与数据库的连接后,接下来应将数据库的数据填充到用户界面上去。应用程序中用Fill_clist()模块实现数据填充功能,其实现流程为:用MySQL查询所需的数据;将查询结果保存在内部缓存中;将缓存中的数据显示在用户界面上。模块代码如下:

void Fill_clist(){ ……;

gchar *amend_clist_row[5] = {,,,,}; //定义gtk+数组数据指针及变量

mysql_query(conx,select number,shapeh,deleteh,shaped,deleted from tbl_amend_amend);

result_set = mysql_store_result(conx); //将查询结果保存在内部缓存中

num_fields = mysql_num_fields(result_set); //获得结果集中列的数量

while(db_row = mysql_fetch_row(result_set)) {

lengths = mysql_fetch_lengths(result_set); //获得列的长度

amend_clist_row[0] = db_row[0];

……;

amend_clist_row[4] = db_row[4]; //将获得的db_row字符串数组的值一一对应地赋值给amend_clist_row

gtk_clist_append(GTK_CLIST(modify_list),amend_clist_row); }//填充到clist对应的域中

mysql_free_result(result_set);} //释放结果集所用的内存

编译运行插入程序,实现了数据库向用户界面填充数据功能,获得了如图2所示的界面。

图2 MySQL填充图

2.4 更新模块

当用户在界面上对系统参数进行修改后,希望将新的数据写入数据库保存,确保数据信息的一致性和连续性,因此应用程序应具有根据系统参数的改变而更新数据库的功能。与填充模块类似,应用程序中用Update_database()模块实现数据库更新功能。

3 数据库移植

3.1 移植的硬件平台

本数控系统中采用了嵌入式PC平台,嵌入式PC与标准PC机完全兼容。因而,可以在普通PC上做好设计和开发,再将软件移植到嵌入式PC上。本系统开发采用嵌入式PC104计算机,硬件水平达到P3级,内存为128M,程序存储选用128M CF[4]卡。

3.2 移植过程

要在数控系统中应用数据库和操作界面,则需要将MySQL和操作界面应用程序移植到CF卡中。考虑到CF卡的容量问题,在移植的过程中要对数据库进行裁剪。

3.2.1 mysqld运行服务器的移植

表2 与mysqld可执行文件相关的库文件

执行文件mysqld的大小为3.3M,而其相关的库文件的大小约为2M,将mysqld并同上述相关的库文件一起移植到CF卡上,这样mysqld便可在嵌入式硬件平台上有效地执行了。

3.2.2应用文件的移植

假定应用程序的可执行文件为app,用命令ldd app同样可以查询到与可执行文件app相关的库。将应用程序连同与应用程序执行相关的库文件一起移植到CF卡上。应用程序的大小约为100K,与应用程序执行相关联的库文件的大小约为8M,而这8M的库文件大部分为嵌入式Linux系统自身带有的库文件,基本上不需要再移植。这样就可在嵌入式数控系统中运行用户操作界面程序,而在后台运行数据库程序了。

4 结束语

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL与Postgres两大免费数据库大不同
下一篇:为什么偏偏是AWS这样的云计算服务提供商引领这股数据库潮流
相关文章