Этот пример может ответить на ваш вопрос.
using System;
using System.Data;
using System.Data.SQLite;
namespace DataAdapterExample
{
class Program
{
static void Main(string[] args)
{
// Create a simple dataset
DataTable table = new DataTable("Students");
table.Columns.Add("name", typeof(string));
table.Columns.Add("id", typeof(int));
table.Rows.Add("Bill Jones", 1);
table.Rows.Add("Laurie Underwood", 2);
table.Rows.Add("Jeffrey Sampson", 3);
DataSet ds = new DataSet();
ds.Tables.Add(table);
// Save in an SQLite file
string desktopPath =
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
string fullPath = desktopPath + "\\class.db";
SQLiteConnection con = new SQLiteConnection("Data Source=" + fullPath);
con.Open();
// Create a table in the database to receive the information from the DataSet
SQLiteCommand cmd = new SQLiteCommand(con);
cmd.CommandText = "DROP TABLE IF EXISTS Students";
cmd.ExecuteNonQuery();
cmd.CommandText = "CREATE TABLE Students(name text, id integer PRIMARY KEY)";
cmd.ExecuteNonQuery();
SQLiteDataAdapter adaptor = new SQLiteDataAdapter("SELECT * from Students", con);
adaptor.InsertCommand = new SQLiteCommand("INSERT INTO Students VALUES(:name, :id)", con);
adaptor.InsertCommand.Parameters.Add("name", DbType.String, 0, "name");
adaptor.InsertCommand.Parameters.Add("id", DbType.Int32, 0, "id");
adaptor.Update(ds, "Students");
// Check database by filling the dataset in the other direction and displaying
ds = new DataSet();
adaptor.Fill(ds, "Students");
foreach (DataTable dt in ds.Tables)
{
Console.WriteLine("Table {0}", dt.TableName);
foreach (DataRow dr in dt.Rows)
{
foreach (DataColumn dc in dt.Columns)
{
Console.Write("{0,-18}", dr[dc]);
}
Console.WriteLine();
}
}
}
}
}
Очень похожий пример можно найти в документации SQLiteDataAdapter Class .