1.47.1. Installation ¶
We need to make sure that the SQLite library is already available on the machine before we use SQLite in the CumberCraft + program. You can check the SQLite installation section to learn about the installation process.
1.47.2. Candlespace + interface API ¶
Here are the important Candlestick + / SQLite interface programs that can meet your needs of using SQLite databases in the Cmax Cure + program. If you need more details, please check the SQLite official documentation.
Serial number | API & description |
|---|---|
1 | ** sqlite3_open(const char filename, sqlite3 * PpDb) * * |
This routine opens a connection to the SQLite database file and returns a database connection object for other SQLite programs. | |
If the filename parameter is NULL or’: memory:’, then | |
If the file name filename is not NULL, then | |
2 | ** sqlite3_exec(sqlite3*, const char sql, sqlite_callback, void *data, char * Errmsg) * * |
This routine provides a shortcut to execute the SQL command, which is provided by the sql parameter and can consist of multiple SQL commands. | |
Here, the first parameter sqlite3 is the open database object, | |
| |
3 | sqlite3_close(sqlite3*) |
Called before the routine closes | |
If the query has not been completed, |
1.47.3. Connect to the database ¶
The following C code snippet shows how to connect to an existing database. If the database does not exist, it will be created and a database object will be returned.
#include
#include
int main(int argc, char* argv[])
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
rc = sqlite3_open("test.db", &db);
if( rc ){
fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
exit(0);
}else{
fprintf(stderr, "Opened database successfully\n");
}
sqlite3_close(db);
}
Now, let’s compile and run the above program to create our database in the current directory test.db . You can change the path as needed.
$gcc test.c -l sqlite3
$./a.out
Opened database successfully
If you want to use C++ source code, you can compile the code as follows:
$g++ test.c -l sqlite3
Here, link our program sqlite3 Library to provide the necessary functions to the C program. This will create a database file in your directory test.db You will get the following results:
-rwxr-xr-x. 1 root root 7383 May 8 02:06 a.out
-rw-r--r--. 1 root root 323 May 8 02:05 test.c
-rw-r--r--. 1 root root 0 May 8 02:06 test.db
1.47.4. Create a tabl ¶
The following C code snippet will be used to create a table in the previously created database:
#include
#include
#include
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i When the above program is compiled and executed, it will be specified in the test.db Create in the file COMPANY Table, the final file list is as follows:
-rwxr-xr-x. 1 root root 9567 May 8 02:31 a.out
-rw-r--r--. 1 root root 1207 May 8 02:31 test.c
-rw-r--r--. 1 root root 3072 May 8 02:31 test.db
1.47.5. INSERT operation ¶
The following C code snippet shows how to create the COMPANY Create a record in the table:
#include
#include
#include
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i When the above program is compiled and executed, it will be specified in the COMPANY The given record is created in the table and the following two rows are displayed:
Opened database successfully
Records created successfully
1.47.6. SELECT operation ¶
Before we start talking about examples of getting records, let’s take a look at some of the details of the callback function, which will be used in our example. This callback provides a message from the SELECT Statement to get the result. It declares as follows:
typedef int (*sqlite3_callback)(
void*, /* Data provided in the 4th argument of sqlite3_exec() */
int, /* The number of columns in row */
char**, /* An array of strings representing fields in the row */
char** /* An array of strings representing column names */
);
If the above callback is in sqlite_exec() As the third parameter in the program, then SQLite Will be SQL Each execution within the parameter SELECT Each record processed in the statement calls this callback function.
The following C code snippet shows how to create the COMPANY Get and display records in the table:
#include
#include
#include
static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully
Callback function called: ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 20000.0
Callback function called: ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
Callback function called: ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
Callback function called: ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
1.47.7. UPDATE operation ¶
The following C code snippet shows how to use the UPDATE Statement to update any records, and then from the COMPANY Table to get and display updated records:
#include
#include
#include
static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully
Callback function called: ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
Callback function called: ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
Callback function called: ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
Callback function called: ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
1.47.8. DELETE operation ¶
The following C code snippet shows how to use the DELETE Statement to delete any records, and then from the COMPANY Get and display the remaining records in the table:
#include
#include
#include
static int callback(void *data, int argc, char **argv, char **azColName){
int i;
fprintf(stderr, "%s: ", (const char*)data);
for(i=0; i When the above program is compiled and executed, it produces the following results:
Opened database successfully
Callback function called: ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 20000.0
Callback function called: ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
Callback function called: ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mond
SALARY = 65000.0
Operation done successfully
-
1. Geographical Information Systems in the World Wide Web Era
4
-
2. Basic technology of WebGIS
4
-
3. Geographic Web Services
5
-
4. aggregation of geographical information
4
-
5. mobile GIS
5
-
6. Geographic information portal
3
-
7. New generation national spatial data infrastructure and GIS
4
-
8. Application of WebGIS in E-Commerce
3
-
9. Application of WebGIS in E-government
3
-
10. Hotspots and frontiers of WebGIS
2
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
3. React
23
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
34
-
4. Appml
12
-
5. Perl
45
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
41
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
43
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
7
Principles, Technologies, and Methods of Geographic Information Systems
102
In recent years, Geographic Information Systems (GIS) have undergone rapid development in both theoretical and practical dimensions. GIS has been widely applied for modeling and decision-making support across various fields such as urban management, regional planning, and environmental remediation, establishing geographic information as a vital component of the information era. The introduction of the “Digital Earth” concept has further accelerated the advancement of GIS, which serves as its technical foundation. Concurrently, scholars have been dedicated to theoretical research in areas like spatial cognition, spatial data uncertainty, and the formalization of spatial relationships. This reflects the dual nature of GIS as both an applied technology and an academic discipline, with the two aspects forming a mutually reinforcing cycle of progress.
-
1. Introduction to Geographic Information Systems
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. Spatial Reference Systems and Map Projections
5
-
5. Data in GIS
4
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. Digital Terrain Model (DTM) and Terrain Analysis
5
-
10. Spatial modeling and spatial decision support
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. Network Geographic Information System
4
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
10
-
16. Geographic Information system Software Engineering Technology
7
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
4