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

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

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

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Android Studio

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

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

1671閲覧

AndroidStudioでSQLiteのカラムが読み込まれていない

hinata4041

総合スコア0

SQLite

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

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Android Studio

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

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/08/01 09:23

前提・実現したいこと

kotlinでSQLiteを使用したアプリケーションを作ろうとしています。
ID,テキスト,日付のカラムを備えた簡単なアプリです。

日付で降順に並べ替える関数で、日付であるcreated_atというカラムが読み込まれていないようです。誤字や余分な空白など探したのですが自分だと見つけられませんでした

発生している問題・エラーメッセージ

E/SQLiteLog: (1) no such column: created_at android.database.sqlite.SQLiteException: no such column: created_at (code 1): , while compiling: SELECT * FROM texts ORDER BY created_at DESC

該当のソースコード

kotlin

1//データベース名とバージョン定数を宣言 2private const val DB_NAME="SampleDatabase" 3private const val DB_VERSION=1 4 5//SQLiteOpenHelperクラスを継承したクラスを作成 6class SampleDBOpenHelper(context: Context): SQLiteOpenHelper(context, 7 DB_NAME,null, 8 DB_VERSION 9){ 10 override fun onCreate(db: SQLiteDatabase?) { 11 //テーブルの作成 12 //カラムの内容を示す 13 //[ID(主キー)][テキスト][作成日時] 14 db?.execSQL("CREATE TABLE 'texts' ( " + 15 " _id INTEGER PRIMARY KEY AUTOINCREMENT, "+ 16 " text TEXT NOT NULL, "+ 17 " created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)") 18 } 19 20 override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) { 21 //通常であればバージョンを更新する際のSQLを発行するが、今回はこれを実装しない。 22 } 23} 24 25//TEXTカラムを[作成日時]順に並べ替える関数 26//引数:context(アプリの状態(入力、起動などが入るが今回は入力)) 27//戻り値:日付順に並べ替えたテキストのテーブル 28fun queryTexts(context: Context):List<String>{ 29 //読み込み用のデータベースを開く 30 //先ほど作成したSWLiteDBOpenHelperを使う。継承元の関数を用いる。 31 val database = SampleDBOpenHelper(context).readableDatabase 32 //データベースから全件検索する 33 //query([table],[columns],[selection],[selectionArgs],[groupBy],[having],[orderBy]) 34 //[table]を指定して、[orderBy]で日付順に並べる 35 val cursor = database.query("texts",null,null,null,null,null,"created_at DESC") 36 //[テキスト]を入れるための可変な空の文字列リストを作る。 37 val texts = mutableListOf<String>() 38 //並べ替えたデータベースを使う 39 cursor.use{ 40 //カーソルで順次処理していく 41 while(cursor.moveToNext()){ 42 //保存されているテキストを得る 43 val text = cursor.getString(cursor.getColumnIndex("text")) 44 texts.add(text) 45 } 46 } 47 database.close() 48 return texts 49} 50

試したこと

誤字チェック…以外の方法が思いつきませんでした…

補足情報(FW/ツールのバージョンなど)

開発環境:AndroidStudio3.6.3

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問