Gre*_*reg 5 c# sqlite winforms
想要在我的VS2008中构建的WinForms应用程序中尝试使用sqlite,我会很高兴.
安装 - 它只是将"System.Data.SQLite.DLL"文件放入我的VS2008项目中的某个文件夹中(例如为它创建一个文件夹),然后创建一个"引用"吗?我已经创建了引用CopyGlobal = TRUE的属性.是否应该在部署我的应用程序时这应该工作(例如为应用程序部署DLL)
初始数据库 - 我是否必须创建初始数据库?我在帮助文件中看到了下面提到的代码,但它实际连接的数据库是什么,DB文件在哪里?
DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
using (DbConnection cnn = fact.CreateConnection())
{
cnn.ConnectionString = "Data Source=test.db3";
cnn.Open();
}
Run Code Online (Sandbox Code Playgroud)使用什么方法 - 这通常是我如何使用/拨打电话?
DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
using (DbConnection myconnection = fact.CreateConnection())
{
myconnection.ConnectionString = "Data Source=test.db3";
myconnection.Open();
SQLiteTransaction mytransaction = SQLiteTransaction)myconnection.BeginTransaction();
SQLiteCommand mycommand = new SQLiteCommand((SQLiteConnection)myconnection);
mycommand.CommandText = "SELECT * FROM SYSTEM";
mycommand.ExecuteNonQuery();
mytransaction.Commit();
myconnection.Close();
}
Run Code Online (Sandbox Code Playgroud)我该如何设置数据库表?我会这样做并将其作为模板存储在我的VS2008项目中吗?或者我想在代码中自动创建数据库(如果不存在)?
如果4的想法是先设置表,我将在哪里存储这个初始数据库文件?这样当我运行项目来测试它然后我使用数据库文件时,我正在测试的那个后来被废弃了.我想我要问的是如何确保我有一个单独的空白但是在我的VS2008项目中配置(带表)数据库作为"源",但是当我运行/调试它时,需要将其副本用于测试?
谢谢
是的。SQLite是一个xcopy部署的数据库;无需注册,您的应用程序只需要 dll 即可使用它。
数据库在连接字符串中指定。在本例中,它位于应用程序工作文件夹中的 test.db3 文件中。
您可能希望缓存与数据库的连接,以避免每次需要访问它时打开它的昂贵操作。另外,我不确定为什么你需要事务,因为你所做的只是从数据库中读取。
您有两种选择 - 要么使用预先创建的模式存储空数据库,然后在构建过程中将其复制到输出目录;或者创建一组 SQL 脚本,以便在第一次连接到数据库时通过代码对数据库执行。您选择哪一个取决于您是否希望应用程序负责创建架构或构建过程。
如果您使用预先创建的模式创建一个空数据库,则可以将其作为文件添加到源中,并指示 VS 将其复制到输出目录(正如我已经提到的)。
| 归档时间: |
|
| 查看次数: |
8781 次 |
| 最近记录: |