質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

解決済

android\.database\.sqlite\.SQLiteException: near "\.": syntax error がでます。

edoooooo
edoooooo

総合スコア0

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

2回答

-1評価

0クリップ

5753閲覧

投稿2017/04/18 02:21

編集2022/01/12 10:58

android.database.sqlite.SQLiteException: near ".": syntax error がでます。

SELECT文を代入したString sqlを
Cursor c =db.rawQuery(sql,null);とするとエラーがでます。
SELECTに "."のsyntaxエラーがあるとのエラーが出ていますが、どこなのかがわかりません。

どうぞ宜しくお願い致します。

java

public class MainActivity extends AppCompatActivity { SimpleAdapter mAdapter = null; List<Map<String, String>> mList = null; ListView list=null; SQLiteDatabase db=null; @Override protected void onCreate\(Bundle savedInstanceState\) { super\.onCreate\(savedInstanceState\); setContentView\(R\.layout\.activity_main\); MemoDBHelper memoDBHelper=new MemoDBHelper\(this\); db=memoDBHelper\.getWritableDatabase\(\); db\.execSQL\(CREATE_TABLE\); ListView list = \(ListView\) findViewById\(R\.id\.listView\); mList = new ArrayList<Map<String, String>>\(\); mAdapter = new SimpleAdapter\(this, mList, android\.R\.layout\.simple_list_item_2, new String\[\]{"title", "content", "data"}, //Map側のkey new int\[\]{android\.R\.id\.text1, android\.R\.id\.text2, R\.id\.eTxtData} //layout側のTextViewId 表示させたいMapのkey順に合わせる \); list\.setAdapter\(mAdapter\); list\.setOnItemClickListener\(new AdapterView\.OnItemClickListener\(\) { @Override public void onItemClick\(AdapterView<\?> parent, View view, int pos, long id\) { Intent intent = new Intent\(MainActivity\.this, EditActivity\.class\); intent\.putExtra\("INSERT",""\); intent\.putExtra\("TITLE", mList\.get\(pos\)\.get\("title"\)\); intent\.putExtra\("CONTENT", mList\.get\(pos\)\.get\("content"\)\); intent\.putExtra\("DATA", mList\.get\(pos\)\.get\("data"\)\); String title1= mList\.get\(pos\)\.get\("title"\); String content1=mList\.get\(pos\)\.get\("content"\); String data1=mList\.get\(pos\)\.get\("data"\); String sql="SELECT \* FROM UserContract\.Users\.TABLE_NAME\\n" \+ " WHERE UserContract\.Users\.COL_TITLE== title1\\n" \+ " AND UserContract\.Users\.COL_CONTENT == content1\\"\)\\n" \+ " AND UserContract\.Users\.COL_DATA==data1\\"\)"; ////////この下の列にエラーが出ます。 Cursor c =db\.rawQuery\(sql,null\); if\(c\.moveToFirst\(\)\) { String idd = c\.getString\(c\.getColumnIndex\(UserContract\.Users\._ID\)\); System\.out\.println\(idd\); c\.close\(\); intent\.putExtra\("ID", idd\); } startActivity\(intent\); } }\); // ListView をコンテキストメニューに登録 registerForContextMenu\(list\); } @Override protected void onResume\(\) { super\.onResume\(\); //open helper //open db memoDBHelperに変更 MemoDBHelper memoDBHelper=new MemoDBHelper\(this\); SQLiteDatabase db=memoDBHelper\.getWritableDatabase\(\); mList\.clear\(\); String id=null; String title = null; String content = null; String data=null; //ここからコピペ //これはselect Cursor c; c=db\.query\( UserContract\.Users\.TABLE_NAME, null,//fields null,//where null,//where arg ここでは、多分何もせずに、全件取得して、リストに入れる null,//groupBy null,//having null,//order by null \); Log\.v\("DB_TEST","Count:"\+c\.getCount\(\)\); Map<String, String> map = new HashMap<String, String>\(\); while\(c\.moveToNext\(\)\){ // id=c\.getString\(c\.getColumnIndex\(UserContract\.Users\._ID\)\); title=c\.getString\(c\.getColumnIndex\(UserContract\.Users\.COL_TITLE\)\); content=c\.getString\(c\.getColumnIndex\(UserContract\.Users\.COL_CONTENT\)\); data=c\.getString\(c\.getColumnIndex\(UserContract\.Users\.COL_DATA\)\); Log\.v\("DB_TEST"," id: "\+id\+ "title: "\+title\+ "content: "\+content\+" data: "\+data\); map\.put\("title", title\); map\.put\("content", content\); map\.put\("data",data\); mList\.add\(map\); } c\.close\(\); db\.close\(\); // ListView のデータ変更を表示に反映 mAdapter\.notifyDataSetChanged\(\); } }

java

E/AndroidRuntime: FATAL EXCEPTION: main android\.database\.sqlite\.SQLiteException: near "\.": syntax error \(code 1\): , while compiling: SELECT \* FROM UserContract\.Users\.TABLE_NAME WHERE UserContract\.Users\.COL_TITLE== title1 AND UserContract\.Users\.COL_CONTENT == content1"\) AND UserContract\.Users\.COL_DATA==data1"\) at android\.database\.sqlite\.SQLiteConnection\.nativePrepareStatement\(Native Method\) at android\.database\.sqlite\.SQLiteConnection\.acquirePreparedStatement\(SQLiteConnection\.java:893\) at android\.database\.sqlite\.SQLiteConnection\.prepare\(SQLiteConnection\.java:504\) at android\.database\.sqlite\.SQLiteSession\.prepare\(SQLiteSession\.java:588\) at android\.database\.sqlite\.SQLiteProgram\.<init>\(SQLiteProgram\.java:58\) at android\.database\.sqlite\.SQLiteQuery\.<init>\(SQLiteQuery\.java:37\) at android\.database\.sqlite\.SQLiteDirectCursorDriver\.query\(SQLiteDirectCursorDriver\.java:44\) at android\.database\.sqlite\.SQLiteDatabase\.rawQueryWithFactory\(SQLiteDatabase\.java:1322\) at android\.database\.sqlite\.SQLiteDatabase\.rawQuery\(SQLiteDatabase\.java:1261\) at com\.example\.android\.sample\.memo\.MainActivity\$1\.onItemClick\(MainActivity\.java:148\) at android\.widget\.AdapterView\.performItemClick\(AdapterView\.java:298\) at android\.widget\.AbsListView\.performItemClick\(AbsListView\.java:1086\) at android\.widget\.AbsListView\$PerformClick\.run\(AbsListView\.java:2859\) at android\.widget\.AbsListView\$1\.run\(AbsListView\.java:3533\) at android\.os\.Handler\.handleCallback\(Handler\.java:615\) at android\.os\.Handler\.dispatchMessage\(Handler\.java:92\) at android\.os\.Looper\.loop\(Looper\.java:213\) at android\.app\.ActivityThread\.main\(ActivityThread\.java:4786\) at java\.lang\.reflect\.Method\.invokeNative\(Native Method\) at java\.lang\.reflect\.Method\.invoke\(Method\.java:511\) at com\.android\.internal\.os\.ZygoteInit\$MethodAndArgsCaller\.run\(ZygoteInit\.java:789\) at com\.android\.internal\.os\.ZygoteInit\.main\(ZygoteInit\.java:556\) at dalvik\.system\.NativeStart\.main\(Native Method\)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。