VBNETでSQLite3をDataGridView表示したけど文字化け解決
惜しい!!!実に惜しい。
Windows上で無料&高速なDBMS「SQLite3」を
無料VB.NET開発環境「Visual Basic 2008 Express」を使いアプリ開発できないか試行錯誤中だけど、
今まで諦めていた「VBNETでSQLite3をDataGridView表示」ができた!でも、肝心な日本語が文字化けして使い物にならない。
「VBNETでSQLite3をDataGridView表示」は
今までに「Windows10(64bit)でSQLite3コマンド使いCSVからDB/table作成」して「VBScript」や「VB.NET」から「table create」「insert」「delete」「update」等のSQL基本操作は普通にできるようにはなった。
が、
せっかく「Microsoftのお手軽プログラム開発環境」の「Visual Basic 2008 Express」が使えるのだから、
「Excel等の表計算ソフト」みたいな「.NET Framework」の「DataGridView」表示して、快適なデータベース操作を使いたい目標がある。
でも、結論は「SQLite3」は「Microsoft環境」と「日本語」環境として相性が悪く、
せっかく「SQLite3単体ではtableのカラム名をCSVから自動的に日本語カラムを生成できる」のに、
VBScriptでは「文字化け」問題発生して、まともに使えない
「Visual Studio」の「データベースエクスプローラ」と「データソース」自動作成して「フォーム」に「DataGridView」コントロール貼り付け「データソース」をドラッグするだけで「簡単にデータベースアプリ開発できる」素晴らしさは分かったのに、
そこは「Microsoft社の戦略」で「このような便利な機能は【SQLite3】には使わせない仕組みがある」等の問題が解決できなくて諦めていた。
最近、またGoogle検索「ADODB.Recordset DataGridView」を探し回っていたら、
「SQLite3」を「ADODB.Recordset」で読んだ結果を「DataTable」「DataSet」を介して「DataGridView」表示する事ができた!
でも、文字化けして使い物にならない為、
当面は諦めて、別の方法で「DataGridView」は使う予定。でしたが、
「nkf」のWindows版の「nkf32.exe」で変換後にsqlite3にimportすれば、データの文字化けは解決しました。
SQLite3の文字化け回避にNKF使う方法は下記のブログが参考になりました。ありがとう!
(Linuxだけど)
SQLite3にパイプから.importする | 備忘LOG
ただし、カラム名の日本語の文字化けだけは無理っぽいので、これこそ諦めます。
それより、
「AccessのACCDB」を使い簡単に「DataGridView」を文字化けしない使い方を優先するべきだろう。
以上です。#####