尝试在VS-2010中将数据插入数据库时​​出错

时间:2011-02-24 11:38:25

标签: database vb.net sqlite

Try
Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As SQLiteCommand
SQLconnect.ConnectionString = "Data Source=" & Application.StartupPath & "\Database\db" & ";"
SQLconnect.Open()     ' VS highlights this line 
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = "INSERT INTO Table1 (Status) VALUES ('Enabled')"
SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose()
SQLconnect.Close()
Catch ex As Exception
MsgBox("Error: Operation unsuccessfull")
End Try

尝试将数据插入数据库时​​出错

错误:'System.Transactions.Diagnostics.DiagnosticTrace'的类型初始值设定项引发异常。

我如何解决这个问题?

修改1:

enter image description here

编辑2:

我在不使用Try Catch Block

的情况下尝试了它
Dim sqlConnection As New SQLite.SQLiteConnection()
Dim sqlCommand As New SQLiteCommand
sqlConnection.ConnectionString = "Data Source=db.s3db"  'is it because of the extension of the database ?
sqlConnection.Open()
sqlCommand = sqlConnection.CreateCommand()
sqlCommand.CommandText = "INSERT INTO Table1 (Status) VALUES ('Enabled')"
sqlConnection.Close()

是否因为数据库扩展?我使用sqlite Admin创建表

编辑3:

我刚刚在VS 2008中尝试过它,它完美无瑕。为什么它在VS 2010中不起作用。是否与app.config文件有关?或.net框架4?

这是我在app.config文件中添加的内容

<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
<configSections>..................

3 个答案:

答案 0 :(得分:2)

我收到了错误

  

的类型初始值设定项   &#39; System.Transactions.Diagnostics.DiagnosticTrace&#39;   抛出异常

因为我将此行添加到app.config

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>

不删除旧条目

<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

我用新条目替换旧条目。 Voila错误消失了。

答案 1 :(得分:0)

您应该在Try / Catch的Finally-Statement中关闭连接。否则,当发生异常时,连接可能会保持打开状态。

另一种选择是使用Using-Statement自动关闭Connection并处理对象的内容。例如:

Using SQLconnect As New SQLite.SQLiteConnection("Data Source=" & Application.StartupPath & "\Database\db" & ";")
   SQLconnect.Open()
   ' .... '
End Using

答案 2 :(得分:0)

尝试使用管理员权限运行应用程序。(如果您使用的是Visual Studio,请右键单击快捷方式,选择以管理员身份运行。您也可以在属性中进行设置。)

似乎类似的问题:http://connect.microsoft.com/VisualStudio/feedback/details/98437/sqlconnection-open-fails-because-of-system-transactions-diagnostics-diagnostictrace-for-non-admin-user