2011-06-22 47 views
0

我正在用数据库创建一个应用程序。我有一张桌子,里面有200多行。 (在应用程序中使用参考表) 我创建了一个类来创建数据库并对其进行升级。将200多行插入SQLite数据库的最佳方法

我已经创建的类中的字符串创建必需的,但将超过200行到类,将得到非常大的

表是否有插入这些行的更好的方法。目前,他们是在一个SQL文件的应用程序中

感谢

+0

是否有些行以某种方式重复或规则?如果是这样,你可以使用循环。 Otherwize,我没有看到如何创建一个没有200 +行SQL文件的200 +行SQLite表。 –

+0

走下SQL文件路线。我需要改变什么才能让数据库读取文件而不是生成字符串 –

+0

您的意思是让SQLite读取文件而不创建Java字符串作为中间文件?我不太确定。 –

回答

0

你应该考虑使用事务,也许改变数据库的同步PRAGMA。 插入200+行将是长,使用事务将减少所需的时间:

sql.execSQL("BEGIN;"); 
//insert 1 
//insert 2 
// ... 
sql.execSQL("END;"); 

更改PRAGMA同步为0或1也将增加插入速度但可诱导一些误差(它删除wrting锁同时插入)

http://www.sqlite.org/pragma.htmlhttp://www.sqlite.org/lang_transaction.html更多信息

0

您可以创建一个小的.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() 
相关问题