接続型でDBにクエリを実行した場合、結果はDateReaderで取得することになるかと思います。
その結果をさくっとDataTableに変換したいという場合は、DataTable.Loadメソッドを使うといいようです。
例えば System.Data.SQLite ライブラリを使った場合はこんな感じ。
SQLiteConnection sqlite_con = new SQLiteConnection(); //SQLite接続文字列定義 sqlite_con.ConnectionString = "Version=3;Data Source=test.sqlite;Compress=True;"; //DB接続 sqlite_con.Open(); SQLiteCommand sqlite_cmd = sqlite_con.CreateCommand(); sqlite_cmd.CommandText = "SELECT id , name , value FROM tbl WHERE name LIKE @nameparam "; //クエリのパラメータ設定 sqlite_cmd.Parameters.Add("nameparam", DbType.String); sqlite_cmd.Parameters["nameparam"].Value = "hoge%"; //クエリ実行 結果はDataReaderで取得 SQLiteDataReader reader = sqlite_cmd.ExecuteReader(); //結果を保存するDataTable DataTable tbl = new DataTable(); //DataReaderをDataTableに読み込む。 tbl.Load(reader); //結果表示 foreach (DataRow row in tbl.Rows) { foreach (object item in row.ItemArray) { Console.Write(item.ToString() + ","); } Console.WriteLine(" "); } /* DataReaderでループして読み込む場合は以下のようにする。 while (reader.Read()) { Console.WriteLine(reader["id"] + "," + reader["name"] + "," + reader["value"] ); }*/ //接続終了 sqlite_con.Close();