[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
System.Data.SQLiteを用いたDBプログラミング。
DBから値を取得するには、DataReaderとDataAdapterを用いた方法があるが、DataReaderを使った取得方法の自分メモ。
Dim SQLString As String Dim MyConnectionString As String = "data source={0}" Dim MySQLiteConnection As New SQLiteConnection MyConnectionString = String.Format(MyConnectionString, _ System.IO.Path.Combine(My.Application.Info.DirectoryPath, "Hoge.db")) Try MySQLiteConnection.ConnectionString = MyConnectionString MySQLiteConnection.Open() Debug.Print("DB Open") SQLString = "SELECT * FROM EMP" Dim MySQLiteCommand As New SQLiteCommand(SQLString, MySQLiteConnection) Debug.Print(SQLString) Dim MySQLiteDataReader As SQLiteDataReader MySQLiteDataReader = MySQLiteCommand.ExecuteReader() Dim i As Integer = 0 Do While MySQLiteDataReader.Read Me.BoardDataGridView.Rows.Add() Me.BoardDataGridView.Rows(i).Cells(0).Value = MySQLiteDataReader.GetValue(0) Me.BoardDataGridView.Rows(i).Cells(1).Value = MySQLiteDataReader.GetValue(1) i = i + 1 Loop Catch ex As Exception MessageBox.Show(ex.Message, "DB Error", MessageBoxButtons.OK, MessageBoxIcon.Error) Finally MySQLiteConnection.Close() Debug.Print("DB Close") End Try
実際には、参考URLにあるように、Usingを用いたものの方が望ましいようだ。
Usingステートメントで簡単、確実にファイルをクローズ - @IT
VisualStudioにて、DBファイルを追加するには、次URLにあるように、データソースを追加した後、プロジェクトに既存項目追加で設定する。
[C#][SQLite]System.Data.SQLiteを試してみた
VSのデータソースからDataGrid追加を用いれば、上ソースのように、自分でDataGridに行を設定する必要がなく楽である。
(どちらの方が、パフォーマンス優位かは不明)
参考:
SQLiteを使ったWindowsアプリを作成する
VB.Netでソート2 - FloralCompany.log
システム開発の入門者から中級者にステップアップするための10のティップス - builder by ZDNet Japan
新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件 - ハックルベリーに会いに行く
35年定年説はどうかと思うが、ずっとプログラマーではいられないと私は思っている。
残念ながら私には天才的なコードを書くセンスもなければ、仕事としてプログラミングを続けていく気概が端から無い。
ならば、ステップアップして上流工程に関わっていくしかない。
なにより、上に行きたいという向上心は大切だろう。
仮にPGであり続けるとしても、早くの段階から上を意識しているのとそうでないのでは、伸びしろが明らかに異なる。
Java Review:JavaVMのメモリ管理をマスターする (1/2) - ITmedia エンタープライズ
オブジェクト指向が浸透して随分経つ。
オブジェクト指向において、ガベージコレクションは切っても切れない概念であり、メモリを有効に使うには、その仕組みを知ることも大切である。
普段プログラミングをしていて、特に意識するものではないが、だからこそ、見落としてしまう点も多い。
教養の一つとしてクリップしておく。
直交変換として有名なフーリエ変換は、変換核として三角関数を用いる。
一方、ウォルシュ・アダマール変換(Walsh Hadamard Transform: 以下WHT)は、矩形関数を変換核として用いる。
アルゴリズムを最後に述べるが、矩形関数を用いるため、定数倍を除いてWHTは加減算のみとなり、実際はフーリエ変換等より高速に処理を行うことができる。
そのため、一時期は熱心に研究された。
しかし、昨今のハードウェアの進歩により、今日ではそれほど魅力的ではなくなっている。
それでも、幾らかは利用価値はあるし、知識の一つとしても損は無いと思える。
また、WHTはインターネット上で調べても、あまり資料が発見できない。
よって、少しでも必要とするものの助けになれば幸いである。