sqlite 3とiosを組み合わせた開発

1976 ワード

概要:
SQLiteは、比較的小さなCライブラリに含まれるACIDに準拠したリレーショナル・データベース管理システムです.D.RichardHippが作成した公有領域プロジェクトです.
一般的なクライアント/サーバ構造の例とは異なり、SQLiteエンジンはプログラムと通信する独立したプロセスではなく、プログラムに接続することが主な部分となっています.したがって,主な通信プロトコルはプログラミング言語内の直接API呼び出しである.これは消費総量,遅延時間,全体的な単純性に積極的な役割を果たす.データベース全体(定義、テーブル、インデックス、およびデータ自体)は、ホストホスト上で単一のファイルに格納されます.単純な設計は、トランザクションを開始するときにデータファイル全体をロックすることによって行われます.
 
 
特徴:
ライブラリは、トランザクションを含む多くのSQL-92標準を実現しています.これは、原子性、一貫性、独立性と永続性(ACID)、トリガ、および多くの複雑なクエリー.タイプチェックは行われません.整数列に文字列を挿入できます.たとえば、データベースをより効果的に革新し、特にタイプのないスクリプト言語と一緒に使用する場合、一部のユーザーはこれが主な欠点だと考えています.
複数のプロセスまたはスレッドは、問題なく同じデータに同時にアクセスできます.同じデータベースを同時に平行に読み込むことができます.しかし、同じ時間に1つのプロセスまたはスレッドしかデータの書き込みができません.それ以外の場合、書き込みに失敗し、エラーメッセージが表示されます(または、この再試行時間の長さは設定可能です).
プログラム・デザイナーは、SQLiteデータベース・ファイルをクエリーおよび管理するためのsqlite 3という独立したプログラムも提供しています.SQLiteのユーザは、このプログラムをSQLiteアプリケーションをどのように書くかの例とすることができる.
 
使用方法:
 
文:
クエリ文:
 
文を削除:
 NSString* changeDB=[NSString stringWithFormat:@"delete from yc_shopcar_sq where deleteState = '%@' ",@"1"];

文を挿入:
NSString* updateDB=[NSString stringWithFormat:@"insert into yc_shopcar_sq(name,code,num,price,id,deleteState)values('%@','%@','%@','%@','%d',2)",nameString,numberText.text,numberString,priceString,cartId];

文の更新:
  NSString* changeDB=[NSString stringWithFormat:@"update yc_shopcar_sq set deleteState = '%@' where orderId = '%@' ",@"1",[NSString stringWithFormat:@"%d",orderId]];