Sqlite不需要安装即可使用。Access还需要安装Office组件(此问题待定,有疑问找http://www.cnblogs.com/nnhy/)。
Sqlite是不是那个System.Data.SQLite.DLL临时创建了数据库引擎?
1.新建一个WinForm项目,引用System.Data.SQLite.DLL.界面如下
1.1 SQLiteConnection.CreateFile(“D:/Data.db3”);
这样就可以创建一个数据库文件,名称随意。
封装成一个函数
这里新建了一个HyData目录存放数据库。
1.3 执行Sql语句
执行查询语句
Sqlite是不是那个System.Data.SQLite.DLL临时创建了数据库引擎?
1.新建一个WinForm项目,引用System.Data.SQLite.DLL.界面如下
1.1 SQLiteConnection.CreateFile(“D:/Data.db3”);
这样就可以创建一个数据库文件,名称随意。
封装成一个函数
//创建一个数据库文件,保存在当前目录下HyData文件夹下
//CreateDB("HyData.db3");
private void CreateDB(string dbName)
{
string databaseFileName = System.Environment.CurrentDirectory + @"/HyData/" + dbName;
SQLiteConnection.CreateFile(databaseFileName);
}
//CreateDB("HyData.db3");
private void CreateDB(string dbName)
{
string databaseFileName = System.Environment.CurrentDirectory + @"/HyData/" + dbName;
SQLiteConnection.CreateFile(databaseFileName);
}
1.2 数据库连接字符串
string connStr = @"Data Source=" + System.Environment.CurrentDirectory + @"\HyData\HyData.db3;Initial Catalog=sqlite;Integrated Security=True;Max Pool Size=10";
1.3 执行Sql语句
//执行Sql语句
//创建一个表: ExecuteSql("create table HyTest(TestID TEXT)");
//插入些数据: ExecuteSql("insert into HyTest(TestID) values('1001')");
private void ExecuteSql(string sqlStr)
{
using (DbConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
}
//创建一个表: ExecuteSql("create table HyTest(TestID TEXT)");
//插入些数据: ExecuteSql("insert into HyTest(TestID) values('1001')");
private void ExecuteSql(string sqlStr)
{
using (DbConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
}
//执行查询
//ExecQuery("select * from HyTest");
private void ExecQuery(string sqlStr)
{
using (DbConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
using (IDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
MessageBox.Show(reader[0].ToString());
}
}
}
}
//执行查询返回DataSet
private DataSet ExecDataSet(string sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
//ExecQuery("select * from HyTest");
private void ExecQuery(string sqlStr)
{
using (DbConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText = sqlStr;
comm.CommandType = CommandType.Text;
using (IDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
MessageBox.Show(reader[0].ToString());
}
}
}
}
//执行查询返回DataSet
private DataSet ExecDataSet(string sqlStr)
{
using (SQLiteConnection conn = new SQLiteConnection(connStr))
{
conn.Open();
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
}
本文示例项目源码:HySqlite.rar http://revit.5d6d.com/thread-799-1-1.html
2.Sqlite相关工具
2.1 Sqlite数据库可以到www.sqlite.org下载,非常小
或sqlite-shell-win32-x86-3070600.zip
http://revit.5d6d.com/thread-800-1-1.html
2.2 C#操作Sqlite的官方示例代码,一时忘了url
或http://revit.5d6d.com/thread-801-1-1.html包括
SQLite-1.0.66.0-source.zip
SQLite-1.0.66.0-binaries.zip
debug.rar
2.3 Sqlite两个界面工具
SQLiteExpertSetup.exe
http://revit.5d6d.com/thread-802-1-1.html这个比较好用,破解版
SQLite Database Browser.exe
http://revit.5d6d.com/thread-803-1-1.html这个据说用在手机上
2.4 小巧的界面工具SqliteSpy(感谢http://www.cnblogs.com/qq419524837/提供)
下载:SQLiteSpy 或http://revit.5d6d.com/thread-808-1-1.html
凡事以大气象去面对,优秀是一种习惯。