2012-05-03 11 views
4

私は入力用に2つのテキストフィールドを持つアプリケーションを作成しようとしています。テキストフィールドから取得した入力は文字列として初期化されています。それでは、私が達成したいことは次のとおりです。iOSでSQLiteを使用する...非常に初心者のプログラム

  • (私はそれがに保存することができます場所がわからないんだけど、私のことができるようにする必要があるXcodeプロジェクト内に保存されますSQLiteのデータベース(ファイル)を作成します。それを読んでそれに書き込む)。
  • 次に、(テキストフィールドの入力からの)文字列をSQLiteテーブルに配置します。これは2つのフィールドしか持たない(簡単にするため)。私は、テキストフィールドからの入力を受け入れるためにボタンを使い、文字列に入力を置き、文字列の値をラベルに入れます。
  • 最終的には、テキストフィールドの文字列をテーブルに配置してから、テーブルを読んで文字列を「取得」し、ラベルに表示したいと考えています。これはすべて、ボタンをクリックするだけです。

私はこれが非常に具体的であることを認識していますが、これを達成するのは簡単ではありません。私はiOS開発には非常に新しいので、できるだけ具体的で詳細な人がいれば、または少なくとも私がこれを達成する方法を教えてくれるいくつかのリソースを指摘していただければ幸いです。

私はXcode v4.3.2を使用していますが、私はストーリーボードまたはARCを使用していません。私は可能な限り詳細にしようとしましたが、可能な限り、私の目標はとても簡単です。

私はタップして、私は得ることができるすべてのヘルプに感謝します。

ありがとうございます! -Matt

+0

どこに問題がありますか?あなたは一般的にSQLを知っていますか?それは単にiosで始めるのですか? – alex

+0

私は一般にSQLを知っています。十分に私は物事を把握することができます。私はまだiOSには本当に新しいです、はい。私の主な焦点は、述べたように、私はテーブルを作成するためにボタンを使いたいということです。 App/Xcodeのどこにテーブルを保存するか分かりませんが、テーブルの読み書きが必要です。最終的に、テーブルから値を取得すると(単純化のため2行のみ)、テーブルから戻ってくる値を2つのラベルに入れたいと思います。私が十分明確でないかどうか教えてください。再度、感謝します! – Skizz

+2

これは少し曖昧です。これまでに試したこと、作業していること、正確に問題を抱えている箇所、これまで試みてきたサンプルコードを投稿するなどが必要です。SQLiteのやり方がわからないのならプログラミングやiOSプログラミングのいくつかの他の側面、それは単純なSOの質問の範囲を超えており、オンラインリソース(例えば "ios sqlite tutorial")のためにgoogleしたいかもしれません。あなたが書いた特定のコードに問題がある場合、私たちは喜んで手伝ってくれますが、一般的な "どのように"質問すれば、SOはその場所ではありません。 [FAQ](http://stackoverflow.com/faq)を参照してください。 – Rob

答えて

8
  • データベース・ファイルを作成する:あなたが他のクラスや画像リソースをドロップするよう単に、Xcodeプロジェクトであなたのdata.sqliteファイルをドロップします。アプリのインストール後、ファイルを書き込み可能なディレクトリにコピーする必要がありますのでご注意ください。 createeditablecopyofdatabaseifneededをご覧ください。
  • 新しいデータベースの場所に関してsqlite3_openでデータベースを開きます。
  • クエリあなたはsqlite3_prepare_v2

で好きなように単純なクエリの抜粋は次のようになり、データベースが:https://github.com/AaronBratcher/ABSQLite

NSString *querystring; 

// create your statement 
querystring= [NSString stringWithFormat:@"SELECT text1, text2 FROM datatable;"]; 

const char *sql = [querystring UTF8String]; 

NSString *text1 = nil; 
NSString *text2 = nil; 

if (sqlite3_prepare_v2(db, sql, -1, &statement, NULL)!=SQLITE_OK){ 

    NSLog(@"sql problem occured with: %s", sql); 
    NSLog(@"%s", sqlite3_errmsg(db)); 

} 
else 
{ 
    // you could handle multiple rows here 
    while (sqlite3_step(statement) == SQLITE_ROW) {    

     text1 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 0)]; 
     text2 = [NSString stringWithUTF8String:(char*)sqlite3_column_text(statement, 1)]; 

    } // while   

} 
sqlite3_finalize(statement); 

// go on with putting data where you want 
+0

あなたは男です!これは本質的に私が探していたものです。ステップバイステップの手順は、初心者のために優れていた。私はこれらの指示を徹底的に取り上げ、このプロセスについての説明をするために時間を割いていただき、本当にありがとうございます。非常に高品質なメンバー。本当にありがとう! – Skizz

+0

ようこそ。 iOSを楽しんでください。 – alex

0

あなたはを参照することができ、ここでのSQLiteを使用するためのサンプルプロジェクトがありますそれはより伝統的なデータベースの方法でSQLiteにアクセスするためのクラスを持っています。サンプルプロジェクトはSQLを使用してテーブルを作成し、異なるバージョンのアプリでスキーマを変更する方法を示しています。