前面的文章已经介绍了SQLite数据库和ADO.NET Provider for SQLite, 现在介绍下如何使用c#操作SQLite数据库。
1. 到 http://sourceforge.net/projects/sqlite-dotnet2/files/ 下载ADO.NET provider for the SQLite database engine. 然后安装。
2. 在VS 2005 新建控制台程序,然后添加引用System.Data.SQLite.dll,该文件在ADO.NET provider for the SQLite 安装目录的bin目录下。
3. using 该命名空间,就可以和使用其他ADO.NET Provider一样使用它了。
代码如下:
Code
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->static void Main( string [] args)
{
string datasource = " c:/test.db " ;
if ( ! System.IO.File.Exists( datasource ))
SQLiteConnection.CreateFile(datasource);
SQLiteConnection conn = new SQLiteConnection();
SQLiteConnectionStringBuilder conStr = new SQLiteConnectionStringBuilder();
conStr.DataSource = datasource;
conn.ConnectionString = conStr.ToString();
// open connetcion
conn.Open();
SQLiteCommand cmd = new SQLiteCommand();
string sql = string .Empty;
cmd.Connection = conn;
/*
//create a table
string sql = "CREATE TABLE test(username varchar(20),password varchar(20));";
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
*/
// insert data
for ( int i = 0 ; i <= 10 ; i ++ )
{
sql = " INSERT INTO test VALUES('cola','mypassword') " ;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
sql = " SELECT * FROM test " ;
cmd.CommandText = sql;
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[ " username " ].ToString() + " --- " + reader[ " password " ].ToString());
}
}
conn.Close();
Console.Read();
}
<!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->static void Main( string [] args)
{
string datasource = " c:/test.db " ;
if ( ! System.IO.File.Exists( datasource ))
SQLiteConnection.CreateFile(datasource);
SQLiteConnection conn = new SQLiteConnection();
SQLiteConnectionStringBuilder conStr = new SQLiteConnectionStringBuilder();
conStr.DataSource = datasource;
conn.ConnectionString = conStr.ToString();
// open connetcion
conn.Open();
SQLiteCommand cmd = new SQLiteCommand();
string sql = string .Empty;
cmd.Connection = conn;
/*
//create a table
string sql = "CREATE TABLE test(username varchar(20),password varchar(20));";
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
*/
// insert data
for ( int i = 0 ; i <= 10 ; i ++ )
{
sql = " INSERT INTO test VALUES('cola','mypassword') " ;
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
sql = " SELECT * FROM test " ;
cmd.CommandText = sql;
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader[ " username " ].ToString() + " --- " + reader[ " password " ].ToString());
}
}
conn.Close();
Console.Read();
}
运行结果:
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword
cola---mypassword