我使用此代码生成sqlite数据库..
private static SQLiteConnection GenData()
{
SQLiteConnection.CreateFile("MyDatabase.sqlite");
SQLiteConnection m_dbConnection;
m_dbConnection new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
string createTableQuery = @"CREATE TABLE IF NOT EXISTS [MyTable] (
[ID] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[Value] VARCHAR(2048) NULL
)";
SQLiteCommand command = new SQLiteCommand(createTableQuery, m_dbConnection);
command.ExecuteNonQuery();
return m_dbConnection;
}
我在按钮单击中使用它来插入数据和创建数据库
private void insertintoDB(string Textbox)
{
SQLiteConnection m_dbConnection = GenData();
string sql = "insert into MyTable (Value) values ('" + Textbox + "')";
SQLiteCommand commmand = new SQLiteCommand(sql, m_dbConnection);
commmand.ExecuteNonQuery();
}
insertintoDB(textbox1.text)
并且我将GenData()
放入加载event
但是每次我使用应用程序时..它会自动生成数据库,我只需要它一次
答案 0 :(得分:1)
在创建数据库的位置执行简单的文件检查(通常这是App_Data,但您可能希望使用适当的环境变量指定其他位置)。
然后创建一个条件语句来执行你" CreateFile"仅当文件不存在时命令。
答案 1 :(得分:1)
只需在创建文件
之前添加if语句private static SQLiteConnection GenData()
{
if (!System.IO.File.Exists("MyDatabase.sqlite"))
SQLiteConnection.CreateFile("MyDatabase.sqlite");
.....
这将在创建文件之前检查文件是否存在。