sqlite的创建数据库,表,插入查看数据
IOS sqlite数据库操作。步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1、新建项目sqliteDemo,添加使用sqlite的库libsqlite3.dylib 2、sqlite 的方法 sqlite3 *db, 数据库句柄,跟文件句柄FILE
IOS sqlite数据库操作。步骤是:
先加入sqlite开发库libsqlite3.dylib,
新建或打开数据库,
创建数据表,
插入数据,
查询数据并打印
1、新建项目sqliteDemo,添加使用sqlite的库libsqlite3.dylib
2、sqlite 的方法
sqlite3 *db, 数据库句柄,跟文件句柄FILE很类似
sqlite3_stmt *stmt, 这个相当于ODBC的Command对象,用于保存编译好的SQL语句
sqlite3_open(), 打开数据库,没有数据库时创建。
sqlite3_exec(), 执行非查询的sql语句
Sqlite3_step(), 在调用sqlite3_prepare后,使用这个函数在记录集中移动。
Sqlite3_close(), 关闭数据库文件
还有一系列的函数,用于从记录集字段中获取数据,如
sqlite3_column_text(), 取text类型的数据。
sqlite3_column_blob(),取blob类型的数据
sqlite3_column_int(), 取int类型的数据
3、获取沙盒目录,并创建或打开数据库。
viewController.h头文件添加一个成员变量,并包含头文件sqlite3.h
[cpp] view plain copy
-
#import
-
#import
- @interface ViewController : UIViewController
- {
- sqlite3 *db;
- }
- @end
在.m文件 定义宏,方面后面使用
[cpp] view plain copy
- #define DBNAME @”personinfo.sqlite”
- #define NAME @”name”
- #define AGE @”age”
- #define ADDRESS @”address”
- #define TABLENAME @”PERSONINFO”
[cpp] view plain copy
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documents = [paths objectAtIndex:0];
- NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];
- if (sqlite3_open([database_path UTF8String], &db) != SQLITE_OK) {
- sqlite3_close(db);
- NSLog(@”数据库打开失败”);
- }
sqlite3_open,如果数据不存在,则创建。运行。这是在沙盒目录下能看到数据库文件(如何打开模拟器沙盒目录请参考:IOS学习之IOS沙盒(sandbox)机制和文件操作(一))
4、创建数据表
创建一个独立的执行sql语句的方法,传入sql语句,就执行sql语句
[cpp] view plain copy
- -(void)execSql:(NSString *)sql
- {
- char *err;
- if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
- sqlite3_close(db);
- NSLog(@”数据库操作数据失败!”);
- }
- }
创建数据表PERSONINFO的语句
[cpp] view plain copy
- NSString *sqlCreateTable = @”CREATE TABLE IF NOT EXISTS PERSONINFO (ID INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, address TEXT)”;
- [self execSql:sqlCreateTable];
运行程序,数据表创建了。怎么知道数据表创建了呢?我们用火狐的Sqlite Manager插件工具打开数据库文件看看。可以在火狐浏览器里安装这个插件。打开
四个字段都出现是表中了。
5、插入数据:
[cpp] view plain copy
- NSString *sql1 = [NSString stringWithFormat:
- @"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')",
- TABLENAME, NAME, AGE, ADDRESS, @"张三", @"23", @"西城区"];
- NSString *sql2 = [NSString stringWithFormat:
- @"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')",
- TABLENAME, NAME, AGE, ADDRESS, @"老六", @"20", @"东城区"];
- [self execSql:sql1];
- [self execSql:sql2];
运行程序,插入两条数据,用火狐的sqlite工具查看
6、查询数据库并打印数据
[cpp] view plain copy
- NSString *sqlQuery = @”SELECT * FROM PERSONINFO”;
- sqlite3_stmt * statement;
- if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
- while (sqlite3_step(statement) == SQLITE_ROW) {
- char *name = (char*)sqlite3_column_text(statement, 1);
- NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
- int age = sqlite3_column_int(statement, 2);
- char *address = (char*)sqlite3_column_text(statement, 3);
- NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
- NSLog(@”name:%@ age:%d address:%@”,nsNameStr,age, nsAddressStr);
- }
- }
- sqlite3_close(db);
打印结果:
[cpp] view plain copy
- 2012-06-29 13:25:32.205 sqlitDemo[3587:f803] name:张三 age:23 address:西城区
- 2012-06-29 13:25:32.206 sqlitDemo[3587:f803] name:老六 age:20 address:东城区
最后关闭数据库。例子代码:http://download.csdn.net/detail/totogo2010/4400911
http://iosshare.cn/?p=1115

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



WWDC tahunan telah berakhir, dan iOS18 sudah pasti menjadi tumpuan perhatian semua orang. Pada masa ini, ramai pengguna iPhone tergesa-gesa untuk menaik taraf kepada iOS18, tetapi pelbagai pepijat sistem menyebabkan orang tidak selesa. Sesetengah penulis blog berkata bahawa anda harus berhati-hati semasa menaik taraf kepada iOS18 kerana "terdapat banyak pepijat." Blogger itu berkata bahawa jika iPhone anda adalah mesin utama anda, adalah disyorkan untuk tidak menaik taraf kepada iOS18 kerana versi pertama mempunyai banyak pepijat. Beliau juga meringkaskan beberapa pepijat sistem yang ditemui pada masa ini: 1. Menukar gaya ikon tersekat, menyebabkan ikon tidak dipaparkan 2. Animasi lebar lampu suluh sering hilang 3. Apl Douyin tidak boleh memuat naik video 10 saat 5 , telefon tidak boleh dibuat dan skrinnya hitam 6. Demam yang teruk.

Terima kasih kepada netizen Ji Yinkesi, xxx_x, tomato goreng, Terrence dan stik drum ayam berempah kerana menyerahkan petunjuk! Menurut berita pada 27 Julai, Apple hari ini mengeluarkan semula kemas kini iOS/iPadOS 18 Beta 4 untuk pembangun Nombor versi dalaman telah dinaik taraf daripada 22A5316j kepada 22A5316k Pada masa ini tidak jelas perbezaan antara dua kemas kini versi Beta 4. Pembangun berdaftar boleh membuka apl "Tetapan", masukkan bahagian "Kemas Kini Perisian", klik pilihan "Kemas Kini Beta", dan kemudian togol tetapan Beta Pembangun iOS18/iPadOS18 untuk memilih versi beta. Memuat turun dan memasang versi beta memerlukan ID Apple yang dikaitkan dengan akaun pembangun. Dilaporkan pada 24 Julai, iO

Menurut berita pada 31 Julai, Apple mengeluarkan kenyataan akhbar semalam (30 Julai), mengumumkan pelancaran pakej Swift sumber terbuka baharu (swift-homomorphic-encryption) untuk membolehkan penyulitan homomorphic dalam bahasa pengaturcaraan Swift. Nota: Penyulitan Homomorfik (HE) merujuk kepada algoritma penyulitan yang memenuhi sifat operasi homomorfik teks sifir Iaitu, selepas data disulitkan secara homomorfik, pengiraan khusus dilakukan pada teks sifir, dan hasil pengiraan teks sifir yang diperolehi diproses pada masa yang sama. masa. Teks biasa selepas penyahsulitan keadaan adalah bersamaan dengan melakukan pengiraan yang sama secara langsung pada data teks biasa, mencapai "halimunan" data. Teknologi penyulitan homomorfik boleh mengira data yang disulitkan tanpa membocorkan data asas yang tidak disulitkan kepada proses operasi.

Kemas kini: Saunders Tech telah memuat naik tutorial ke saluran YouTubenya (video dibenamkan di bawah) yang menerangkan cara memasang Fortnite dan Epic Games Store pada iPad di luar EU. Walau bagaimanapun, bukan sahaja proses itu memerlukan versi beta khusus iO

Terima kasih kepada netizen Burger Kaki Ayam Pedas, Soft Media New Friends 2092483, Handwritten Past, DingHao, Xiaoxing_14, Wowotou Eat Big Kou, Feiying Q, Soft Media New Friends 2168428, Slades, Aaron212, Happy Little Hedgehog, Little Earl, Clues for the little susu kucing yang makan ikan! [Klik di sini untuk pergi terus ke tutorial naik taraf] Menurut berita pada 24 Julai, Apple hari ini menolak kemas kini versi pratonton pembangun iOS/iPadOS18 Beta4 (nombor versi dalaman: 22A5316j) kepada pengguna iPhone dan iPad keluaran terakhir. Kertas Dinding Carplay Apple telah menambahkan kertas dinding pada CarPlay, meliputi mod terang dan gelap Gaya kertas dindingnya serupa dengan iPhone

Terima kasih kepada netizen Ji Yinkesi kerana menyerahkan petunjuk! Menurut berita pada 30 Julai, Apple hari ini mengeluarkan versi beta pembangun pertama iOS/iPadOS 18.1 dan versi beta awam kedua iOS/iPadOS 18. Ia juga mengeluarkan kemas kini iOS 16.7.9 dan iOS 15.8.3 untuk iPhone lama. Apple menulis dalam log kemas kini untuk kedua-dua versi: "Kemas kini ini menyediakan pembetulan keselamatan yang penting dan disyorkan untuk dipasang oleh semua pengguna," tetapi tidak menyebut perkara yang telah ditetapkan. iOS16.7.9 Nota: iOS16.7.9 sesuai untuk Apple iPhoneX, iPhone8 dan iPhone8Plus Menurut butiran dokumen yang didedahkan oleh Apple, ketiga-tiga model di atas dijangka menyokong

Menurut orang dalam industri Mark Gurman, Apple Intelligence Apple akan ditangguhkan ke Oktober. Dalam erti kata lain, ia akan ditolak terlebih dahulu pada iOS18.1. Apple iPhone 16 dijangka dikeluarkan pada bulan September, jadi Apple Intelligence tidak akan diprapasang. 1. Kepintaran Apple Kepintaran Apple ialah sistem kecerdasan peribadi yang menggunakan model generatif yang berkuasa untuk menyediakan fungsi baharu untuk iPhone, iPad dan Mac bagi membantu pengguna dalam berkomunikasi, bekerja dan menyatakan. 2. Pemahaman bahasa semula jadi Model besar yang tertanam dalam Apple Intelligence mempunyai pemahaman yang mendalam tentang makna bahasa.

Terima kasih kepada netizen Ji Yinkesi kerana menyerahkan petunjuk! [Klik di sini untuk pergi terus ke tutorial naik taraf] Menurut berita pada 17 Julai, Apple hari ini menolak kemas kini versi pratonton pembangun iOS/iPadOS17.6 Beta4 (nombor versi dalaman: 21G5075a) kepada pengguna iPhone dan iPad keluaran terakhir 7 hari. Kitaran dan Kemas Kini Ujian iOS Apple biasanya menjalankan dua kitaran ujian berasingan setiap musim panas: Kemas Kini Musim Gugur Utama: Untuk kemas kini iOS utama yang dilancarkan pada musim luruh. Semakan kemas kini tahun sebelumnya: Biasanya semakan terakhir kemas kini tahun sebelumnya. Pengguna iPhone iOS18 dan iOS17.6 beta kini mempunyai pilihan: iOS18 pembangun beta iOS17.6 pembangun beta iOS1
