ホームページ データベース mysql チュートリアル sqlite的创建数据库,表,插入查看数据

sqlite的创建数据库,表,插入查看数据

Jun 07, 2016 pm 03:23 PM
ios sql 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

sqlite的创建数据库,表,插入查看数据

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

  1. #import 
  2. #import 
  3. @interface ViewController : UIViewController
  4. {
  5.     sqlite3 *db;
  6. }
  7. @end

在.m文件 定义宏,方面后面使用

[cpp] view plain copy

  1. #define DBNAME    @”personinfo.sqlite”
  2. #define NAME      @”name”
  3. #define AGE       @”age”
  4. #define ADDRESS   @”address”
  5. #define TABLENAME @”PERSONINFO”

[cpp] view plain copy

  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  2.  NSString *documents = [paths objectAtIndex:0];
  3.  NSString *database_path = [documents stringByAppendingPathComponent:DBNAME];
  4.  if (sqlite3_open([database_path UTF8String], &db) != SQLITE_OK) {
  5.      sqlite3_close(db);
  6.      NSLog(@”数据库打开失败”);
  7.  }

sqlite3_open,如果数据不存在,则创建。运行。这是在沙盒目录下能看到数据库文件(如何打开模拟器沙盒目录请参考:IOS学习之IOS沙盒(sandbox)机制和文件操作(一))

sqlite的创建数据库,表,插入查看数据

 

4、创建数据表

创建一个独立的执行sql语句的方法,传入sql语句,就执行sql语句

[cpp] view plain copy

  1. -(void)execSql:(NSString *)sql
  2. {
  3.     char *err;
  4.     if (sqlite3_exec(db, [sql UTF8String], NULL, NULL, &err) != SQLITE_OK) {
  5.         sqlite3_close(db);
  6.         NSLog(@”数据库操作数据失败!”);
  7.     }
  8. }

创建数据表PERSONINFO的语句

[cpp] view plain copy

  1. NSString *sqlCreateTable = @”CREATE TABLE IF NOT EXISTS PERSONINFO (ID INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, address TEXT)”;
  2.     [self execSql:sqlCreateTable];

运行程序,数据表创建了。怎么知道数据表创建了呢?我们用火狐的Sqlite Manager插件工具打开数据库文件看看。可以在火狐浏览器里安装这个插件。打开sqlite的创建数据库,表,插入查看数据

四个字段都出现是表中了。

5、插入数据:

[cpp] view plain copy

  1. NSString *sql1 = [NSString stringWithFormat:
  2.                      @"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')",
  3.                      TABLENAME, NAME, AGE, ADDRESS, @"张三", @"23", @"西城区"];
  4.     NSString *sql2 = [NSString stringWithFormat:
  5.                       @"INSERT INTO '%@' ('%@', '%@', '%@') VALUES ('%@', '%@', '%@')",
  6.                       TABLENAME, NAME, AGE, ADDRESS, @"老六", @"20", @"东城区"];
  7.     [self execSql:sql1];
  8.     [self execSql:sql2];

运行程序,插入两条数据,用火狐的sqlite工具查看sqlite的创建数据库,表,插入查看数据

6、查询数据库并打印数据

[cpp] view plain copy

  1. NSString *sqlQuery = @”SELECT * FROM PERSONINFO”;
  2.    sqlite3_stmt * statement;
  3.    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) {
  4.        while (sqlite3_step(statement) == SQLITE_ROW) {
  5.            char *name = (char*)sqlite3_column_text(statement, 1);
  6.            NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
  7.            int age = sqlite3_column_int(statement, 2);
  8.            char *address = (char*)sqlite3_column_text(statement, 3);
  9.            NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
  10.            NSLog(@”name:%@  age:%d  address:%@”,nsNameStr,age, nsAddressStr);
  11.        }
  12.    }
  13.    sqlite3_close(db);

打印结果:

[cpp] view plain copy

  1. 2012-06-29 13:25:32.205 sqlitDemo[3587:f803] name:张三  age:23  address:西城区
  2. 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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

更新 |ハッカーが EU 外の iPad に Epic Games Store と Fortnite をインストールする方法を説明 更新 |ハッカーが EU 外の iPad に Epic Games Store と Fortnite をインストールする方法を説明 Aug 18, 2024 am 06:34 AM

更新: Saunders Tech は、EU 外の iPad に Fortnite と Epic Games Store をインストールする方法を説明するチュートリアルを YouTube チャンネルにアップロードしました (ビデオは下に埋め込まれています)。ただし、このプロセスには iO の特定のベータ版が必要なだけではありません。

Apple、iOS 18に導入される準同型暗号化用のオープンソースSwiftパッケージをリリース Apple、iOS 18に導入される準同型暗号化用のオープンソースSwiftパッケージをリリース Jul 31, 2024 pm 01:10 PM

7月31日のニュースによると、Appleは昨日(7月30日)プレスリリースを発行し、Swiftプログラミング言語で準同型暗号化を可能にする新しいオープンソースSwiftパッケージ(swift-homomorphic-encryption)のリリースを発表した。注: 準同型暗号 (HE) とは、暗号文の準同型演算特性を満たす暗号アルゴリズムを指します。つまり、データを準同型暗号化した後、暗号文に対して特定の計算を実行し、得られた暗号文の計算結果を同時に処理します。状態復号後の平文は、平文データに対して同じ計算を直接実行することと同等であり、データの「不可視性」が実現されます。準同型暗号技術は、基になる暗号化されていないデータを運用プロセスに漏らすことなく、暗号化データを計算できます。

Apple iOS 18 および iPadOS 18 パブリックベータ版 Beta 2 アップデートがリリース Apple iOS 18 および iPadOS 18 パブリックベータ版 Beta 2 アップデートがリリース Jul 30, 2024 pm 04:19 PM

手がかりを提出してくれたネチズンの Mo 6_、Uh-huh-huh-huh、Cat-Eating Salted Fish、Yaochi Qinglian、Spicy Chicken Leg Burger、Siyan、Tim Apple に感謝します。 7月30日のニュースによると、Appleは本日、前回のパブリックベータ版から2週間後、iPhoneおよびiPadユーザー向けにiOS18およびiPadOS18パブリックベータ版のベータ2バージョンアップデートを開始したとのこと。今回のパブリックベータ版のアップデート内容は、開発者プレビュー版Beta4と同様に、新しいCarPlay壁紙、コーミング設定オプション、強化されたカメラコントロール、ダーク/ライトモードアイコンなどが追加されています。詳細については、これまでの詳細レポートを参照してください。 ##iOS/iPadOS/watchOS/macOS 開発版とパブリック ベータ版をアップグレードするにはどうすればよいですか? iOS/iPadOS アップグレード iOS/iPa

Apple iPhone 16 には Apple Intelligence がプリインストールされなくなりました Apple iPhone 16 には Apple Intelligence がプリインストールされなくなりました Jul 30, 2024 pm 01:18 PM

業界関係者のマーク・ガーマン氏によると、AppleのApple Intelligenceは10月に延期される予定だという。つまり、iOS18.1では最初にプッシュされることになります。 Apple iPhone 16は9月に発売される予定のため、Apple Intelligenceはプリインストールされません。 1. Apple Intelligence Apple Intelligence は、強力な生成モデルを使用して、ユーザーのコミュニケーション、作業、表現を支援する新しい機能を iPhone、iPad、Mac に提供するパーソナル インテリジェンス システムです。 2. 自然言語の理解 Apple Intelligence に組み込まれた大規模なモデルは、言語の意味を深く理解しています。

Apple、古い iPhone/iPad に iOS/iPadOS 16.7.9 および 15.8.3 アップデートをリリース:セキュリティの脆弱性を修正 Apple、古い iPhone/iPad に iOS/iPadOS 16.7.9 および 15.8.3 アップデートをリリース:セキュリティの脆弱性を修正 Jul 30, 2024 am 10:13 AM

手がかりを提出してくれたネチズン Ji yingkesi に感謝します! 7月30日のニュースによると、Appleは本日、iOS/iPadOS 18.1の最初の開発者ベータ版とiOS/iPadOS 18の2番目のパブリックベータ版をリリースした。また、古いiPhone向けのiOS 16.7.9とiOS 15.8.3のアップデートもリリースした。 Appleは両バージョンのアップデートログに「このアップデートには重要なセキュリティ修正が含まれており、すべてのユーザーにインストールすることが推奨される」と記しているが、修正内容については言及していない。 iOS16.7.9 注: iOS16.7.9 は Apple iPhoneX、iPhone8、iPhone8Plus に適しています。Apple が公開した文書の詳細によると、上記 3 つのモデルがサポートされる予定です。

iOS 18.1が登場し、通話録音が可能になりました! iOS 18.1が登場し、通話録音が可能になりました! Jul 30, 2024 pm 09:35 PM

今朝早く、Apple は iOS 18.1、iPadOS 18.1、macOS Sequoia 15.1 の最初の開発者向けベータ版を開発者にプッシュしました。同時に、Apple は iOS17.6、iPadOS17.6、visionOS1.3、macOS14.6、tvOS17.6、watchOS10.6 の正式バージョンもプッシュしました。 iOS18.1Beta1ではついに通話録音機能が開始され、中国とEU以外の地域でもApple Intelligence機能が開始されました。 iOS18.1Beta1のバージョン番号は22B5007pで、OTAアップグレードのサイズは約637MBです(アップデートパッケージのサイズはモデルによって若干異なります)。

Apple iOS / iPadOS 18 開発者プレビュー版 Beta 7 がリリース Apple iOS / iPadOS 18 開発者プレビュー版 Beta 7 がリリース Aug 21, 2024 am 07:41 AM

ヒントを提供してくれたネチズン Yaochi Qinglian、DREAMM_、Ji Ren e に感謝します。 [アップグレード チュートリアルに直接アクセスするには、ここをクリックしてください] 8 月 21 日のニュースによると、Apple は本日、iOS/iPadOS18 開発者プレビュー バージョン Beta7 アップデート (内部バージョン番号: 22A5346a) を iPhone および iPad ユーザーにプッシュしました。このアップデートは、前回のアップデートとは別のものです。ベータ/RC リリースは 8 日。 Apple の Beta5 および Beta6 アップデートは安定している傾向があり、重要な新機能は導入されません (主にコントロール センターの詳細を調整します)。Apple は 9 月の正式リリースに備えてバグを修正し、エクスペリエンスを改善することに重点を置いています。したがって、Apple が本日リリースした Beta7 アップデートは、理論的には iOS/iPadOS18 の最後のベータ版アップデートとなるはずです。

Apple iOS / iPadOS 18.1 Developer Preview Beta 2 がリリース: 写真の簡素化、Safari の気晴らし制御の強化など Apple iOS / iPadOS 18.1 Developer Preview Beta 2 がリリース: 写真の簡素化、Safari の気晴らし制御の強化など Aug 13, 2024 am 11:38 AM

ネチズン kkkkkkkkkayd、Shu Dao Ke Gou、Ji yingkesi、DingHao、Xiaoxian のハンドケーキ、ソフトメディアの新しい友達 2170538、最もかわいいツインテール、Jing Feng、Traccnn、Ji Someone e、Slades、Freddy123、Mo 6 _ の手がかり配信に感謝します。 [アップグレード チュートリアルに直接アクセスするには、ここをクリックしてください] 8 月 13 日のニュースによると、Apple は本日、iOS/iPadOS18.1 開発者プレビュー バージョン Beta2 アップデート (内部バージョン番号: 22B5023e) を iPhone および iPad ユーザーにプッシュしました。このアップデートは最新です。ベータ/RC 間隔は 7 日です。ローカライズされた Apple Intelligence 言語拡張 Apple、iOS18.1Beta2 アップデートで拡張

See all articles