我有一段代码,这对我总是不起作用。有时返回有关数据库锁定的错误,有时返回有关连接的错误。

这是代码:

string sql = String.Format("insert into {0}({1}) values({2});", tableName, columns, values);
SQLiteConnection myConn = null;
try
{
    myConn = new SQLiteConnection(dbConnection);
    myConn.Open();

    using(SQLiteCommand sqCommand = new SQLiteCommand(sql))
    {
        sqCommand.CommandText = sql;
        int rows = sqCommand.ExecuteNonQuery();
        return !(rows == 0);
    }
}
finally
{
    myConn.Close();
}


我做错了什么?

错误是:


没有与此命令关联的连接

   в System.Data.SQLite.SQLiteCommand.InitializeForReader()
   в System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior


行为)
·System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior
行为)
·System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()


排队:

int rows = sqCommand.ExecuteNonQuery();

最佳答案

您忘记了assign ConnectionCommand


没有与此命令关联的连接


using(SQLiteCommand sqCommand = new SQLiteCommand(sql))


因此应为:

using(SQLiteCommand sqCommand = new SQLiteCommand(sql, myConn))

09-25 22:15