問題タブ [sqliteopenhelper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ContentProvider を使用して Android で SQLite DB をアップグレードする
私はアプリを開発しており、SQLite、contentResolver、および contentProvider を使用しています。
アプリケーションの説明 私のアプリは、内部 SQLite DB で連絡先を検索します。データは、最初の昼食時またはユーザーがメニューの更新オプションを押したときに選択された外部ファイルから到着します。
DB へのすべてのアクセスは getContentResolver() を使用して行われます。
ContentProvider ContentProviderを 拡張し、 SQLiteOpenHelperを拡張するデータベース アダプターであるContactsDBAdapterへの参照を保持するContactsContentProviderクラスがあります。(私はあなたが今まで私と一緒にいたことを願っています).
問題 の説明 ユーザーが更新ボタンを押したときに、DB がすべてのテーブルを削除して新しいデータをロードするようにします (これはファイル チューザーによって行われ、うまく機能します)。ContactsDBAdapterのonUpgrade()を機能させるには、コンテンツ プロバイダーの onCreate() を以前よりも新しいバージョンで呼び出す必要があります
しかし、contentResolverからcontentProviderを取得するので、2 回作成されることはありません。
contentProviderとcontentResolverの両方を使用する方法については多くの説明がありますが、適切なアップグレードの進行状況はどこにも見つかりませんでした。
onUpgrade がどのように機能するか、および getReadableDatabase ()およびgetWritableDatabase()呼び出し中にチェックされていることは認識していますが、 ContactsDBAdapterは以前と同じインスタンスであるため、バージョンが異なることはありません。
いくつかの回避策を考えましたが、まったく気に入りませんでした。バージョンが高い場合はinsert()中に手動で確認できます(ただし、すべての呼び出しで行われるため、費用がかかります)。答えが真の場合は、onUpgradeを手動で呼び出します。
または、何らかの方法でプロバイダーの登録を解除しようとしましたが、これまで有効で適切な解決策が見つかりませんでした。
DB をアップグレードするためのベスト プラクティスは何ですか?
ありがとう!
android - 8000 レコードの Sqlite データベースを作成する
オートコンプリート テキストビューに sqlite を使用するアプリケーションを開発しています。データベースには 8000 を超えるレコードがあります。データベースの作成は、 のクエリで実行できますonCreate()
。しかし、8000 件以上のレコードを含むデータベースを作成するにはどうすればよいでしょうか。8000 レコードの挿入クエリを作成することは、私には最悪のように思えます。
8000 件以上のレコードを含むデータベースを作成する最善の方法は何ですか? mysql のように sql ファイルをダンプする方法はありますか。
java - スピナーにデータベース情報を入力する方法
データベースから情報を入力する必要があるスピナーがありますが、見つかった例は機能しません。
これが私のコードです:
android - Simplecursor アダプターを介して ListView を設定できませんでした
リストビューにデータベースのデータを入力したいのですが、そうしようとすると例外が1つだけ発生します。
どのアダプターを使用しても、同じ例外が発生します。
これは私のSQLiteOpenHelper
です:
これは、単純なカーソルアダプターを介してリストビューにデータを入力しようとしている場所です。
なぜそのような例外が発生するのかわかりません。アクセスしているテーブルに「_id」という名前の列がありません。助けてください。ありがとうございました!
android - SQLiteException near "null":構文エラー:、コンパイル中:INSERT OR REPLACE INTO
単純なDbHelperを構成しようとしていますが、実行中にエラーが発生します。
エラーは次のとおりです。
何が問題なのかわかりませんか?
DbHelperクラスは次のとおりです。
メインクラスは次のとおりです。
android - 事前のclose()Androidなしで終了したカーソル
私のアプリケーションにはリストビューがあります。SQLiteDatabase からクエリを使用してデータを取得します。データベースからデータを取得すると、次のエラーが発生します。
20行目から21行目に行くと発生します。
regel 50にcursor.deactivate()とcursor.close()を配置しようとしましたが、結果はありませんでした。このエラーが発生する理由と解決方法を知っている人はいますか? ありがとう :)
android - SQLiteデータベースでListFragmentを使用したAndroidデザイン
SQLiteデータベースを使用してListFragmentを実装するための最良の方法は何ですか。現在、SimpleCursorAdapterへのレコードのオープン、クローズ、およびフェッチを容易にするためにDBAdapterを作成しました。ナビゲーションタブを備えたActionBarを実装するMainActivityがあり、タブごとに異なるListViewを表示したいと思います。
これが私のListFragmentです:
これがMyListAdapterコードで、今のところ独自のクラスファイルにあります。
これはこれについて行く方法ですか?私はあなたが持っているかもしれないどんな提案でも、あるいはあなたが何か良い例を知っているなら、感謝します。
android - クエリ終了後のリストの再配置
検索可能な連絡先の種類のアプリを作成します。以下は私のコードです
}
問題は、編集テキストから単語をクリアした後です。前のリストビューに戻る必要があります。つまり、データベース内のすべての値が表示されます。
android - ListView.OnItemClickListener の IllegalStateException
メインアクティビティにリストビューがあり、クリックすると人に関する詳細情報が表示され、2 つのクラスがあります
EmployeeList.java - http://pastebin.com/5vPMKrCQ
DatabaseHelper.java - http://pastebin.com/NS7RR8E6
logcat に次の例外があります。
sqlite - Androidでデータベースの問題を抱えたアプリケーションクラス
AndroidアプリケーションでSQLiteDBにアクセスできません。SQLiteOpenHelperのインスタンスを含むアプリケーションクラスを作成しましたが、別のアクティビティでDBを開こうとすると、クラッシュします。
これが私のアプリケーションクラスです:
これが私のSQLiteOpenHelperクラスです。
}
そして、このような別のアクティビティでデータベースにアクセスしようとすると、エラーが発生します。
何か助けはありますか?ありがとうございました!