我做电子地图是这么做的,sql存储顶点坐标,落点坐标点的值和该区域的基本信息。然后sql查询就能筛选一个坐标范围。
窗体上拖个pictruebox存放cad图片,用cad图鼠标点击的坐标就可以去查询数据库了。从而模拟了一个电子地图的效果,我从来不用电子地图第三方控件。
第一个过程描坐标:建立数据库表,比如一个长方形区域,起点坐标应该是他左上角,x轴,y轴都是起始位置,落点坐标应该是右下脚,所以在数据库中除了存储这个区域的基本信息外还要存储四个基本值x起始值、x落点、y起始、y落点。
获得这些值不是靠你去计算,必须写一个外挂程序,通过鼠标点击pictruebox捕捉起点和落点坐标,然后分别更新查询到数据表,才能准确地记录每个区域的坐标值。表的格式如下:
区域名称
|
区域基本信息
...|
x起点
|
y起点
|
x落点
|y落点
|
图索引
---------------------------------------------------------------------------------------------
图片a区
|
办公区域
|
80
|
20
|
140
|
50
|
图1
-------------------------------------------------------------------------------------------
......
当基础资料表建立以后,再建立sql视图,用一个鼠标点做条件检索数据库:
假如捕捉点为(x,y),程序中公开两个变量public
int
x,y
select
*
from
基本资料
where
x起点<=x
and
x落点>=x
and
y起点<=y
and
y落点>=y
这样通过pictruebox读取cad图,描坐标的方法就能用图形范围坐标位置检索小范围信息。
你可以通过鼠标点击来完成,也可以通过鼠标双击缩放图形,拖动,使用graph类在上面画图形,遍历数据库,通过区域名称索引也可以,给图片坐标范围着色。
使用MySQL开发包,在MySQL安装目录里面有一个include目录。里面包含了需要的C++头文件主要包含
#include <iostream>
#include <mysql/mysql.h>//根据自己目录设定mysql头文件
MYSQL mysql
std::string db_host = "127.0.0.1"//MySQL服务器地址
std::string db_user = "root"//用户名
std::string db_pwd = "rootpwd"//密码
std::string db_name = "test_db"//访问数据库名
mysql_init(&mysql)//初始化MySQL对象
if(!mysql_real_connect(&mysql, db_host.c_str(), db_user.c_str(), db_pwd.c_str(), db_name.c_str(), 3306, NULL, 0))//连接MySQL服务器
{
mysql_close(&mysql)
return 0
}
mysql_query(&mysql, "SET NAMES 'gbk'")//设置中文字符集
db_host就是MySQL服务器IP地址,字符串,C++连接MySQL服务器其实不分本地或者远程的,的都是按照连接服务器来的,本地服务器的就是127.0.0.1
此方法适合 *** 作MSSQL2000
使用此方式的条件
(1)自己电脑安装MSSQL2000数据库
(2)您的网站和数据库在自己电脑调试成功
此方法是将远程服务器中的数据库备份到本地电脑的数据库或是将本地电脑数据库还原到远程服务器的数据库
( 以下将重点讲解如何把本地数据库还原到远程服务器的数据库,备份的方式和还原类似不再讲解)
1.连接上远程数据库服务器:a:打开自己电脑的MSSQL企业管理器--找到SQL Server 组--点击右键--新建SQL Server 注册(I)--下一步--在可用的服务器 下输入数据库的IP地址如192.168.0.1 点击添加和下一步---点击 系统管理员给我分配的SQL SERVER 登陆信息 和下一步-- 在登陆名内输入数据库名,在密码内输入数据库密码 点击下一步--继续点击下一步直到完成 这样就和远程的数据库建立了连接. 2.把本地数据库导入到远程数据库:打开刚建立的数据库服务器如192.168.0.1--点开数据库--找到自己的数据库名---右键---所有任务里的导入数据---下一步--到了选择数据源页---服务器中默认local 点使用 SQL Server身份验证,用户名输入sa 密码输入您电脑数据库的sa密码,数据库选择你要导入到远程数据库的原始数据库名,然后下一步---到了选择目的画面 服务器 选择您远程数据库的IP 比如192.168.0.1--点使用SQL Server 身份验证,用户名中输入您在我们公司开通的数据库名,密码中写上对应的数据库密码,数据库中选择您在本站开通的数据库,然后下一步---点 在SQL Server数据库之间复制对象和数据,下一步--到了选择要复制的对象画面,把使用默认选项前面的勾去掉,然后点击右边的 选项 ,把安全措施选项中的 3个选择前的勾全部去掉,然后确定,下一步--到了 保存、调度和复制包画面,把立即运行前 保证打上勾(选择上)--然后默认下一步 直到完成,本地电脑的数据库将自动复制到远程数据库。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)