我正在用数据库创建一个应用程序。我有一张桌子,里面有200多行。 (在应用程序中使用参考表) 我创建了一个类来创建数据库并对其进行升级。将200多行插入SQLite数据库的最佳方法
我已经创建的类中的字符串创建必需的,但将超过200行到类,将得到非常大的
表是否有插入这些行的更好的方法。目前,他们是在一个SQL文件的应用程序中
感谢
我正在用数据库创建一个应用程序。我有一张桌子,里面有200多行。 (在应用程序中使用参考表) 我创建了一个类来创建数据库并对其进行升级。将200多行插入SQLite数据库的最佳方法
我已经创建的类中的字符串创建必需的,但将超过200行到类,将得到非常大的
表是否有插入这些行的更好的方法。目前,他们是在一个SQL文件的应用程序中
感谢
你也可以在你的资产预填充的SQLite数据库文件夹船就像这个描述,回答:
你应该考虑使用事务,也许改变数据库的同步PRAGMA。 插入200+行将是长,使用事务将减少所需的时间:
sql.execSQL("BEGIN;");
//insert 1
//insert 2
// ...
sql.execSQL("END;");
更改PRAGMA同步为0或1也将增加插入速度但可诱导一些误差(它删除wrting锁同时插入)
见http://www.sqlite.org/pragma.html和http://www.sqlite.org/lang_transaction.html更多信息
您可以创建一个小的.net应用程序来在需要时填充表格。这是vb中的一个例子。它可以很容易地转换为C#通过谷歌搜索到C#转换器。只需将代码复制并粘贴到转换器中即可。
Dim myConnection As SqlConnection
Dim myCommand As SqlCommand
Dim i as Integer
'Connect to database
myConnection = New SqlConnection("server=localhost;uid=sa;pwd=;database=yourdb")
myConnection.Open()
'Insert rows, you may be able to use a for loop to make inserting easier
myCommand = New SqlCommand("INSERT INTO yourtable VALUES(12, _
'IT Manager')",100,300,myConnection)
i=myCommand.ExecuteNonQuery()
'Close the connection
myConnection.Close()
是否有些行以某种方式重复或规则?如果是这样,你可以使用循环。 Otherwize,我没有看到如何创建一个没有200 +行SQL文件的200 +行SQLite表。 –
走下SQL文件路线。我需要改变什么才能让数据库读取文件而不是生成字符串 –
您的意思是让SQLite读取文件而不创建Java字符串作为中间文件?我不太确定。 –