大地资源网视频在线观看新浪,日本春药精油按摩系列,成人av骚妻潮喷,国产xxxx搡xxxxx搡麻豆

深入淺出LabVIEW數據庫應用

2015年12月26日
資料類型rar文件資料大小1912637
下載次數137資料圖片【點擊查看】
上 傳 人北京市瀚文網星科技有限責任公司 需要積分0
關 鍵 詞LabVIEW,LabVIEW數據庫,數據庫
【資料簡介】

目錄
第1章引言—獻給想用數據庫而不懂數據庫的工程師..........................................1
第2章邊干邊學數據庫基礎......................................................................................2
2.1 數據庫簡史...................................................................................................................2
2.2 建立數據源...................................................................................................................2
2.2.1 在Access中建立一個數據庫............................................................................2
2.2.2 建立與數據庫的連接.......................................................................................3
2.2.3 數據庫連接的可移植性問題(話題)...................................................7
2.3 數據庫基本操作...........................................................................................................8
2.3.1 創建一個表格...................................................................................................8
2.3.2 刪除一個表格.................................................................................................10
2.3.3 添加一條記錄.................................................................................................10
2.3.4 查詢一條記錄.................................................................................................11
2.4 數據庫操作.........................................................................................................12
2.4.1 在LabVIEW中執行SQL語言案例研究.........................................................12
2.4.2 用SQL實現數據查詢操作.............................................................................13
2.4.3 用SQL實現刪除一條記錄.............................................................................13
2.4.4 壓縮數據庫,釋放多余空間.........................................................................14
2.4.5 用SQL實現修改數據操作.............................................................................15
2.5 本章總結.....................................................................................................................16
第3章一個完整的數據庫工程范例........................................................................17
3.1 工程項目要求.............................................................................................................17
3.2 生成可執行文件(*.exe)..............................................................................................18
3.3 生成安裝文件(Installer).............................................................................................19
第4章后記................................................................................................................22
i
第1章 引言—獻給想用數據庫而不懂數據庫的工程師
曾經在一個產品檢測項目中,客戶要求:當產品檢測不合格時,記下該產品對應的序列號,測試時間和各項測試指標,并能對這些數據進行管理和查詢。由于自己沒有系統的學習過數據庫,所以*時間想到的解決方案是用文件的方式(也只能把數據存成文件了)。在使用文件進行數據儲存與管理時,遇到了一個巨大的問題:如何查詢數據?基本的文件IO函數中,并沒有提供現成的查詢函數,所以必須自己編程實現。實現的過程是先將數據讀入內存,然后再根據關鍵字進行線性查找,線性查找的時間復雜度為O(N),所以當數據量逐漸增大時,這將是一個非常可怕的過程。這個不可逾越的障礙迫使我不得不再次考慮使用數據庫。
想到這兒,我立即到天河書城買了兩本網上評價為數據庫經典的書《數據庫系統概念》和《輕松掌握SQL》,回到辦公室后立即開始學習起來。陌生的術語,難懂的理論;看了后一章便忘了前一章——非常痛苦但還是硬著頭皮堅持到了下班。
這種痛苦再加上越來越近的項目交付日期,使我非常焦躁,心里終于有個聲音爆發了出來“我不就是想要實現數據的保存,修改,刪除和查詢嗎?我需要把那眾多的數據庫類型、復雜的關系模型、抽象的關系代數…都搞懂嗎???”實踐后的答案是,不需要,一點都不需要。
我放棄了剛買的新書,打開了LabVIEW 數據庫工具包的用戶手冊和范例程序,尋找著我期望的數據保存,修改,刪除和查詢功能。到下班的時候,Everything goes well,基本掌握了用LabVIEW 數據庫工具包進行數據保存,修改,刪除和查詢的方法。
回想起這段歷程,突然有種想與大家一起分享的沖動——不懂數據庫的工程師也可以玩轉數據庫,因為從應用的角度來看,我們的實際需求僅僅是數據的保存、修改、刪除和查詢,根本不需要去研究復雜的關系模型、抽象的關系代數、艱深的數據庫設計…那基本與我們的初始目標南轅北轍。借助LabVIEW 數據庫鏈接工具包(Database Connectivity toolkit)可以站在應用的層次,很方便的操作數據庫,實現數據的保存、修改、刪除和查詢等功能。
“學以致用,邊學邊用,急用先學,*”,在后續的章節中,我們先概覽一下必需的與數據庫相關的基本概念,然后在LabVIEW平臺上一邊學習,一邊實踐如何儲存、管理和查詢數據。
1
第2章 邊干邊學數據庫基礎
2.1 數據庫簡史
在20世紀60年代,*個數據庫管理系統(DBMS)發明以前,數據記錄主要是通過磁盤或穿孔卡片,那時候,無論是數據的管理、查詢或是存儲都是一件非常痛苦的事情。隨著計算機開始廣泛地應用于數據管理,數據共享要求也越來越高,傳統的文件系統已經不能滿足人們的需要,能夠統一管理和共享數據的數據庫管理系統應運而生。*個數據庫是美國通用電氣公司Bachman等人在1961年開發成功的IDS(Integrated DataStore),它奠定了數據庫的基礎,并在當時得到了廣泛的發行和應用。
隨后,在1970年,IBM的研究員E.F.Codd博士在刊物《Communication of the ACM》上發表了一篇名為“A Relational Model of Data for Large Shared Data Banks”的論文,提出了關系模型的概念,奠定了關系模型的理論基礎。這篇論文被普遍認為是數據庫系統歷*具有劃時代意義的里程碑。Codd的心愿是為數據庫建立一個優美的數據模型,后來Codd又陸續發表多篇文章,論述了范式理論和衡量關系系統的12條標準,用數學理論奠定了關系數據庫的基礎。
1974年,IBM的Ray Boyce和Don Chamberlin將Codd關系數據庫的12條準則的數學定義以簡單的關鍵字語法表現出來,提出了具有里程碑意義的SQL(Structured Query Language)語言。SQL語言的功能包括查詢、操縱、定義和控制,是一個綜合的、通用的關系數據庫語言,同時又是一種高度非過程化的語言,只要求用戶指出做什么而不需要指出怎么做。SQL語言的這個特點使之成為了一種真正的跨平臺和跨產品的語言。
現今,數據庫技術已經發展的比較成熟了,的數據庫管理系統有SQL Server、Oracle、DB2、Sybase ASE、Visual ForPro、Microsoft Access等。Microsoft Access是在Windows環境下非常流行的桌面型數據庫管理系統,它作為Microsoft office組件之一,安裝和使用都非常方便,并且支持SQL語言,所以本文將基于Access來介紹數據庫的操作。
2.2 建立數據源
實現數據庫功能的*步便是建立數據源,下面將詳述整個過程。
2.2.1 在Access中建立一個數據庫
LabVIEW 數據庫工具包只能操作而不能創建數據庫,所以必須借助第三方數據庫管理系統,比如Access,來創建數據庫。本文的大型數據庫范例程序是iPhone測試,所以先建立一個名為iPhoneData.mdb的數據庫文件,如圖2.1所示。
2
圖2.1 創建Access數據庫
2.2.2 建立與數據庫的連接
在利用LabVIEW 數據庫工具包操作數據庫之前,需要先連接數據庫,這就像操作文件之前,先要打開文件一樣。連接數據庫有兩種方法:
1. 利用DSN連接數據庫
LabVIEW 數據庫工具包基于ODBC(Open Database Connectivity)技術,如圖2.2所示,在使用ODBC API函數時,需要提供數據源名DSN(Data Source Names)才能連接到實際數據庫,所以我們需要首先創建DSN。
圖2.2 LabVIEW 數據庫工具包基于ODBC技術
【背景知識】ODBC(Open Database Connectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規范,并提供了一組對數據庫訪問的標準API(應用程序編程接口)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
3
在“Windows控制面板”中雙擊“管理工具”,然后雙擊“數據源”,進入ODBC數據源管理器,如圖2.3所示。
圖2.3 ODBC數據源管理器
User DSN(用戶數據源名)選項卡下建立的數據源名只有本用戶才能訪問,System DSN(系統數據源名)選項卡下建立的數據源名在該系統下的所有用戶都可以訪問。User DSN選項卡下點擊按鈕,會彈出數據源驅動選擇對話框,然后選擇Microsoft Access Driver(*.mdb),如圖2.4所示。
圖2.4 數據源驅動選擇對話框
點擊“Finish”按鈕后,會彈出ODBC Microsoft Access Setup窗口,在Data Source Name填入一個名字,比如iPhoneData,然后在Database欄中單擊Select按鈕選擇先前已經建立好的iPhoneData.mdb數據庫文件,其它參數保持默認,單擊OK按鈕,如圖2.5所示。
4
圖2.5 ODBC Microsoft Access Setup窗口
完成上述設置后,就可以在User DSN選項卡下看到新建的DSN了。單擊OK按鈕完成DNS的建立。打開隨本文的程序:ConnectionExample.vi,在DSN Name中填入剛建好的DSN名并運行,如圖2.6所示。
圖2.6 利用DSN連接數據庫
【注意】使用DSN連接數據庫需要考慮移植問題,當你把代碼發布到其它機器上時,需要手動為其重新建立一個DSN。
2. 利用UDL連接數據庫
Microsoft設計的ODBC標準只能訪問關系型數據庫,對非關系型數據庫則無能為力。為解決這個問題,Microsoft還提供了另一種技術:Active數據對象ADO(ActiveX Data Objects)技術。ADO是Microsoft提出的應用程序接口(API)用以實現訪問關系或非關系數據庫中的數據。ADO使用通用數據連接UDL(Universal Data Link)來獲得數據庫信息以實現數據庫連接。
在iPhoneData.mdb所在的文件夾下點擊鼠標右鍵->新建->Microsoft Data Link,如圖2.7所示,并把文件命名為“iPhoneData.udl”。
5
圖2.7 新建UDL文件
雙擊“iPhoneData.udl”,打開Data Link Properties對話框,在Provider選項卡中選擇Microsoft Jet 4.0 OLE DB Provider,如圖2.8所示,并點擊Next>>按鈕。
圖2.8 選擇Provider
在Connection選項卡中,選擇已建立好的數據庫文件,然后點擊Test Connection按鈕,
6
如果沒有什么問題的話,會彈出Test Connection succeeded的對話框,如圖2.9所示。
圖2.9 選擇數據庫源
創建好UDL后,打開隨本文的程序:ConnectionExample.vi 在DSN Name中填入剛建好的DSN名并運行,如果成功的話,會如圖2.10所示。
圖2.10 利用UDL連接數據庫
2.2.3 數據庫連接的可移植性問題(話題)
用文本編輯器打開剛新建的“iPhoneData.udl”文件,其內容如下所示:
[oledb]
; Everything after this line is an OLE DB initstring
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Doc\ApplicationNotes\DatabaseAppNotes\data\iPhoneData.mdb;Persist Security Info=False
分號(;)后面的內容是注釋可以不用搭理。Data Source后面是數據庫的路徑,所以,當數據庫文件位置變化后,程序就會出錯。
我們可以直接把“iPhoneData.udl”文件中的信息重新生成,然后傳給DB Tools Open 7
Connection .vi,如圖2.11所示。具體的實現可以參看本文附帶的范例。
圖2.11 GetDBPath.vi
在后面的程序中,本文都將使用 GetDBPath.vi來獲得數據庫的位置信息,然后傳給DB Tools Open Connection .vi。
2.3 數據庫基本操作
連接上數據庫之后,就可以對數據庫進行操作了。本節主要介紹數據庫zui常用的幾種基本操作,包括創建表格、刪除表格、添加記錄、查詢記錄。
2.3.1 創建一個表格
數據庫是以表的形式來記錄數據的,如圖2.12所示,大家可以用Access打開一個數據庫文件來體驗一下。
圖2.12 數據庫里的表格
數據表的每一行,表示一條記錄(Record);每一列,表示記錄中的字段(Field),說的通俗點就是記錄中的一項內容,比如測試時間。能夠*標識表中某一行的屬性或屬性組,叫主鍵(Primary Key),一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以*標識某一行記錄,所以可以確保執行數據更新、刪除的時候不會出現張冠李戴的錯誤。
創建數據表由LabVIEW 數據庫工具包中的實現。參數中的Table,為被創建的數據表表名,Column Information表格每一列的屬性,如圖2.13所示。
8
圖2.13 column information
需要注意的是column information中的Data type設置部分,LabVIEW的數據類型有許多種,而這里的Data type選項只有幾種,所以必須清楚LabVIEW數據類型和Column information中的Data type的對應關系,如表2.1所示。
表2.1 對應關系
LabVIEW 數據類型
數據庫數據類型
Number
Number
String/Path
String
Array
Binary
Cluster
Binary
Boolean
String or Number
Enum
Number
Variant
Binary
Picture control
Binary
WDT
Binary
Refnum
Not supported
I/O Channel
String
Complex Numbers
Binary
知道了這個對應關系后,創建數據庫表格便是一件很容易的事情,范例程序如圖2.14所示,具體代碼請參考CreateTable.vi。
圖2.14 創建數據庫表格代碼
9
如果數據庫表格創建成功,大家可以用Access打開數據庫,看到自己創建的表格。
2.3.2 刪除一個表格
與數據庫表格創建相對應的是數據庫表格刪除,由實現。將需要刪除的數據庫的名字告訴DB Tools Drop Table.vi即可完成數據庫表格的刪除操作。具體實現如圖2.15所示。
圖2.15 刪除數據表格
【分享】表格創建和刪除的參數非常相似,可以很方便的在一個VI里面同時實現表格的創建和刪除操作。
2.3.3 添加一條記錄
添加一條記錄由來實現,DB Tools Insert Data.vi需要三個主要的參數:table(數據表名)告訴DB Tools Insert Data.vi往數據庫里的哪個表格插入數據;data,告訴DB Tools Insert Data.vi插入什么數據;columns對應插入的列的名字,其數據類型是一個字符串數組。添加記錄的范例程序如圖2.16所示。
圖2.16 添加一條記錄
LabVIEW 數據庫工具包提供了一個工具VI,可以把數據表的column名字讀出來傳給DB Tools Insert Data.vi,這樣可以省去手動輸入column名字的工作。
10
2.3.4 查詢一條記錄
數據能存儲到數據庫之后,下一個要考慮的操作即是如何把數據讀出。把數據從數據庫中讀出的VI是,我們只需要告訴DB Tools Select Data.vi讀取哪個數據表格,DB Tools Select Data.vi就會把該表格中的所有數據讀出來,如圖2.17所示。
圖2.17 從數據庫中讀出數據
從讀出的數據是動態數據類型,需要通過函數把動態數據類型轉換成正確的數據類型。
大多數情況下,我們并不需要把數據庫中的數據全部讀出來。比如,數據庫中已經有1000條記錄了,每次都要把1000條記錄讀出來,費時費力。
LabVIEW 數據庫工具包*支持SQL語言,在的optional clause輸入端按照SQL語法輸入條件語句,即可讀出感興趣的數據。SQL語言非常簡單,如果從來沒有接觸過SQL語言,可以花一點時間學習一下。LabVIEW 數據庫工具包的用戶手冊附錄A上有SQL的快速參考手冊。SQL的條件查詢語法格式如圖2.18所示。
圖2.18 SQL的條件查詢語法格式
11
已經把SELECT語句預先集成好了,我們只需要在optional clause輸入端加入WHERE語句部分即可,如圖2.19所示。范例程序從TestResult這張表里把字段TestTime等于字符串“2008-8-27 16:24:34”的記錄讀出來。
圖2.19 讀出感興趣的數據
【參考知識】WHERE語句可包括各種條件運算符:
比較運算符(大小比較):>、>=、=、<、<=、<>、!>、!<
范圍運算符(表達式值是否在的范圍):BETWEEN…AND… NOT BETWEEN…AND…
列表運算符(判斷表達式是否為列表中的項):IN (項1,項2……) NOT IN (項1,項2……)
模式匹配符(判斷值是否與的字符通配格式相符):LIKE、NOT LIKE
空值判斷符(判斷表達式是否為空):IS NULL、NOT IS NULL
邏輯運算符(用于多條件的邏輯連接):NOT、AND、OR
2.4 數據庫操作
數據庫操作除了創建表格、刪除表格、添加記錄、查詢記錄外,常用的還有刪除記錄、更新現有數據等操作。由于這些操作并沒有現成的VI,所以需要借助SQL語言來實現。
2.4.1 在LabVIEW中執行SQL語言案例研究
如前所述,絕大部分DBMS都支持SQL語言,LabVIEW 數據庫工具包實現的實質也是基于SQL語言,它為不熟悉SQL語言的用戶把SQL語言封裝了起來,以方便他們使用。2.3節的操作都是基于已封裝好的VI。
雙擊,打開它的程序框圖,如圖2.20所示,讓我們一起來研究一下它的實現過程。
圖2.20 DB Tools Select Data的代碼實現
12
如圖2.20所示,DB Tools Select Data.vi先創建了SQL語句,然后用來執行SQL語句,以此實現對數據庫的操作。
在本節中,我們也沿用這種模式,直接用SQL來實現LabVIEW 數據庫工具包中沒有提供的功能。
2.4.2 用SQL實現數據查詢操作
了解了LabVIEW如何執行SQL語言后,我們可以重新實現2.3.4查詢一條記錄的功能,范例程序如圖2.21所示。
圖2.21 用SQL查詢記錄
2.4.3 用SQL實現刪除一條記錄
通過查閱SQL參考手冊,我們知道刪除一條記錄的語句是“dee”,其語法為:
DELETE FROM table_name
WHERE column_name = some_value
參考圖2.21,我們很容易實現刪除一條記錄的操作,如圖2.22所示。
圖2.22 刪除一條記錄
在使用“dee”語句時,需要注意:
1. “dee”語句不能刪除單個字段的值,只能刪除一行、多行、所有行或一行也不刪除;
2. “dee”語句僅能刪除記錄,不能刪除表本身;刪除表要用“drop”語句,這也是為什么LabVIEW 數據庫工具包中刪除表的VI叫Drop Table。
13
2.4.4 壓縮數據庫,釋放多余空間
刪除了記錄后,你會驚奇的發現數據庫文件并沒有減小,就算把所有的數據全部都刪除掉,結果也一樣。這是因為數據庫在使用一段時間后,時常會出現因數據刪除而造成數據庫中空閑空間太多的情況,這時就需要減少分配給數據庫文件和事務日志文件的磁盤空間,以免浪費磁盤空間。
Microsoft提供了一個壓縮數據庫的方法,請參考How To Compact Microsoft Access Database Through ADO。其基本思想是,使用ADO的擴展: Microsoft Jet OLE DB Provider and Replication Objects (JRO)中的方法:CompactDatabase。Jet對象在文件Msjro.dll里面,如圖2.23所示。
圖2.23 Msjro.dll文件
下面將簡單介紹一下在LabVIEW中訪問Jet對象的方法:
在前面板上放一個,在右鍵菜單中選擇”Select Active Class”->”Browe…”,如圖2.24所示。
圖2.24 選擇Jet Engine
在彈出的Select Object From Type Library窗口中點擊Browse按鈕,按照圖2.24所示的路徑選擇Msjro.dll。然后在Objects選擇框中選擇JetEngine(JRO.JetEngine.2.6),點擊OK按鈕,如圖2.25所示。
14
圖2.25 選擇Jet對象
在程序框圖中放置一個方法節點,并選擇方法CompressDatabase,如圖2.26所示。到此為止,就實現了在LabVIEW中調用Jet對象的CompressDatabase方法。
圖2.26 調用CompressDatabase方法
由于這個方法僅僅對原數據庫做了一個壓縮后的備份,所以,還需要把原文件移除,用這個備份來替代原數據庫文件。詳細實現請參考Access File Compress Database.vi。
2.4.5 用SQL實現修改數據操作
SQL中,修改一條記錄的語句是“update”,其語法為:
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
修改一條記錄的范例程序,如圖2.27所示:
15
圖2.27 修改一條記錄
2.5 本章總結
本章介紹了大多數zui常用的數據庫操作及在LabVIEW平臺下的實現方法。SQL語言是一種數據庫操作的通用語言,不僅在LabVIEW數據庫工具包中可以用到,在其它語言(如VB,VC)平臺下也可以使用。希望大家通過上面的操作不僅學習了LabVIEW數據庫工具包,也熟悉了SQL語言。
16
第3章 一個完整的數據庫工程范例
本章將給出一個工程項目,用于對本文介紹的知識進行消化和總結。
3.1 工程項目要求
讀者學完labVIEW數據庫工具包后,可以按照如下要求,實現一個測試項目工程:
1. 測試iPhone的Power是否合格;
2. 測試iPhone耳機的THD曲線;
3. 測試iPhone的觸摸屏;
4. 測試iPhone麥克風的聲壓級(SPL);
5. 完成測試后,把這些測試結果記錄到數據庫中;
6. 能夠讀入數據庫,并能按要求檢索數據;
7. 能按照測試時間等內容對結果進行升序或降序排列。
該工程項目的界面如圖3.1和圖3.2所示。
圖3.1 iPhone測試界面
17
圖3.2 iPhone測試數據分析界面
具體代碼可以參考隨本文的范例:DatabaseExample.lvprj。
3.2 生成可執行文件(*.exe)
在2.2.3節中,我們討論了數據庫連接的可移植性問題,如果使用本文介紹的方法,則在生成可執行文件的過程中不用關心UDL文件等問題。在生成可執行文件的過程中*需要注意的是把所用到的數據庫文件添到到可執行文件的支持文件(Support files)中去。
步驟一:把數據庫文件添加到工程中去,如圖3.3所示。
步驟二:在Build specification的Source file選項中,把數據庫文件iPhoneData.mdb添加到Support file中,這樣iPhoneData.mdb會被加入Support Directory。如圖3.4所示。
其它設置與通常生成可執行文件的基本步驟一樣,點擊”Build”按鈕即可生成可執行文件。
18
圖3.3 把數據庫文件添加到工程
圖3.4 把數據庫文件添加到Support files中
如果出現生成的可執行文件無法執行數據保存和檢索的操作,請檢查執行文件和數據庫文件的相對路徑是否正確。
3.3 生成安裝文件(Installer)
生成安裝文件,我們所要考慮的問題是,目標機上是否有對LabVIEW數據庫工具包的支持——MDAC2.5。
LabVIEW數據庫工具包已經自帶了MDAC2.5的安裝文件——mdac_typ.exe,所以,我們需要把mdac_typ.exe添加到安裝文件中去。讓安裝文件在安裝過程中把MDAC2.5替我們裝到目標機上。
步驟一:把mdac_typ.exe添加到工程中,如圖3.5所示。mdac_typ.exe在LabVIEW安裝路徑
19
\National Instruments\LabVIEW 8.2\Database\MDAC中。
圖3.5把mdac_typ.exe添加到工程中
步驟二:在Source File里面先把已編譯好的可執行文件添加到ProgramfileFolder中去,然后把mdac_typ.exe添加到data文件夾中去,如圖3.6所示。
圖3.6 把mdac_typ.exe添加到data文件夾中
步驟三:在Advanced設置窗口中,把mdac_typ.exe添加到Run Executable after installation中,如圖3.7所示。
20
圖3.7 添加mdac_typ.exe到Run Executable after installation
其余步驟與通常制作安裝文件的步驟一致,zui后點擊Build即可生成安裝文件了。
到此,大功終于告成了,還等什么,趕快親手去試試?。
21
第4章 后記
“I hear and I forget;
I see and I remember;
I do and I understand.”
眼見為實,耳聽為虛,任何事都要親自付以行動才能真真正正的理解。在LabVIEW這樣一個非常適合工程師和科學家的平臺上,多嘗試,多實踐是工程能力增長的不二法門。
拙作肯定存在不少問題,有任何問題,可以給我: jing.zhang.zju,真心希望能與大家一起分享一起討論。
22


旗下子站

工控網機器人3D打印物聯網儀器儀表工業軟件


關于我們|本站服務|會員服務|企業建站|旗下網站|友情鏈接| 興旺通| 產品分類瀏覽|產品sitemap

智能制造網 - 工業4.0時代智能制造領域“互聯網+”服務平臺

Copyright gkzhan.comAll Rights Reserved法律顧問:浙江天冊律師事務所 賈熙明律師

客服熱線:0571-87756395加盟熱線:0571-87759904媒體合作:0571-89719789

客服部:編輯部:展會合作:市場部:

返回首頁
主站蜘蛛池模板: 西贡区| 遂川县| 搜索| 安达市| 三江| 莎车县| 稷山县| 屯昌县| 津南区| 高阳县| 外汇| 微山县| 桃源县| 滨州市| 宁都县| 集贤县| 策勒县| 比如县| 望谟县| 鹿邑县| 广丰县| 阿拉善盟| 临猗县| 陆河县| 长岛县| 桃园市| 乐至县| 准格尔旗| 黄平县| 安图县| 大新县| 明溪县| 阿拉尔市| 武鸣县| 公主岭市| 大方县| 东辽县| 社会| 杭州市| 高雄县| 汝州市|