关于SQL在数据检查中的应用
结构化查询语言SQL是工业标准数据库 *** 作语言,在实践中得到了广泛运用,下面是我为大家搜索整理了关于SQL在数据检查中的应用,欢迎参考阅读,希望对大家有所帮助。想了解更多相关信息请持续关注我们应届毕业生培训网!
矢量地形图是地图要素的数字化表示,主要由属性数据、拓扑数据和元数据三部分组成。属性数据用于描述地理实体的类别、等级等质量特征和数量特征,拓扑数据用于描述地图上点、线、面状要素之间关联、邻接、包含等空间关系,元数据则包含了数据和信息资源的描述性信息。境外判绘生成的矢量数据是按照地形图作业规范规定的标准格式;其数据的正确性、完备性、规范性的检查是十分重要的环节。若能对数据属性进行分类显示,即按照某一属性项(编码、名称、编号等)分类和排序,将有共同属性的地图目标排列在一起,将会给属性检查带来很大的便利。现有的检查软件都会进行属性项检查,但是这种检查方式比较单一,不能自己定义查找方式,且 *** 作比较繁琐,所以需要寻找一种能对属性数据进行快速查询、分析的方法。
一、属性数据文件记录格式
属性数据文件由点记录、线记录、面记录三部分组成。点、线、面记录各部分都有一个类首记录和若干中间记录,以文本方式存储。
作业中使用的式矢量地形图数据是严格按照生产记录格式组织、存储的,具有严谨规范的数据结构,很自然我们可以利用数据库来实现属性数据的查询分析。
二、 *** 作流程
要实现这一设想,方法有很多,可以利用EXCEL、ACCESS导入分析,也可以编程直接读取属性数据文件。笔者采用的方法是将属性文件读入MDB数据库,利用SQL语言进行自定义查询,并输出结果的方式。流程图如下:
按图幅建立的mdb数据库中为每个图层建立一个数据表,用于存储每层的属性数据。数据表的结构(字段名称、数据类型、长度等)应按照军标格式设置,避免出现转换时数据丢失。利用自编程序将属性文件中的记录逐个读入数据库,在查询语句框中输入SQL语句即可进行数据筛选。通过分类筛选,将同类地物放在一起比较,就可以很轻松的检查出地物属性是否存在遗漏和错误。若需输出查询结果,程序可根据相应的坐标文件生成err文件,以供在freescan中检查修改。程序利用VB60+数据控件的方式实现,主界面如下:
三、利用SQL实现属性数据查询分析
结构化查询语言SQL是工业标准数据库 *** 作语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,在实践中得到了广泛运用。它以记录集合作为 *** 作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能。
SQL语言包含4个部分 数据定义语言(如CREATE、DROP、ALTER等语句)、数据 *** 作语言(如INSERT、UPDATE、DELETE语句)、数据查询语言(如SELECT语句)、数据控制语言(如GRANT、REVOKE、COMMIT、ROLLBACK等语句)。我们最常用到的SQL包括选择列表、FROM子句和WHERE子句,它们分别说明所查询列、查询的表、以及搜索条件等。
通过SQL语句的组合可以实现更多复杂的查询,实现对数据的分析与筛选。
如进行独立房与街区名称指针的挂接SQL语句:
SELECT FROM 居民地C WHERE (居民地C注记编号=Any (select 注记编号 from 居民地C where 居民地C编码=130204)) and 注记编号<>0 and 编码=130201;
这是查找街道名未挂指针的SQL语句:
SELECT FROM 注记R
WHERE 注记R编码=280338 and (注记R注记号 NOT in (select 陆地交通D注记编号 from 陆地交通D));
通过修改SQL语句就可以非常灵活的实现各种查询和筛选。为了方便 *** 作,还可以将各种条件的查询语句存放在一个文本文件中,随时调用。
本文主要介绍了利用SQL语句在数据库中对矢量地形图属性数据进行分析检查的一种方法,这种方法在往年的数据入库中是可行的,且在一定程度上提高了作业效率。在当前进行境外数字判绘过程中,需要我们通过实践不断总结和探索新的更有效的作业方法,高质量、高效率圆满完成任务。
;15年之前,ODBC已经不推荐使用了,建议至少用个ADO吧。
过滤写法中用的是字符串,理论上你这个应该使用"m_ID=3"
一个很严重的问题:在VC++下,类名、函数名、变量名、工程名、文件名,不要使用中文,而应该使用英文,否则出了什么古怪的问题都不知道。
从大多数的数据库产品设计角度来说,数据库之间是彼此隔离的,一个连接只能与一个数据库进行通信,访问、存取其中的数据,如果需要对比两个不同的数据库,需要自己编程建立两个连接,分别连接到这两个数据库,然后在对其中结构相同的表进行排序后读取,再利用编程语言当中的判断语句逐条进行比较,这样做的效率会非常低。
有多种方法可实现,但要看你用的数据库,可能其中的语法,函数不同
1insert into select
insert into infonext
(field1,field2,field3)
values
select id , cardno , sign , time , terid
from info
where cint(left(time , instr(time,":")-1)) between 8 and 10
2select into
跟以上方法相同
3vb 过滤数据,再插入第二个表,但如果数据量大,就会很慢
不需要在内容中进行二次筛选,你3个参数值可以进行判断,如果不是不限,就将条件拼在sql语句中就可以设置三个条件。在
SQL语句
中就将不符合的记录剔除掉了。不需要再到程序中再筛选一次。
然后直接绑定到gridview就好了。
除非你用缓存
用group by语句可以筛选重复数据。
1、创建测试表、插入数据
create table test(id int,
name varchar(10));
insert into test values (1,'张三')
insert into test values (2,'李四')
insert into test values (3,'王五')
insert into test values (4,'赵六')
insert into test values (1,'张三')
insert into test values (2,'李四')
2、现在要筛选出重复数据,使查询的数据不重复,可用语句
select id,name from test group by id,name;
3、结果如图:
以上就是关于SQL在数据检查中的应用全部的内容,包括:SQL在数据检查中的应用、MFC 里用ODBC 怎么在SQL数据库里筛选数据、如何筛选出两个数据库中的不同数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)