Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQLITE-INSERT不返回错误,但未插入任何数据_C#_Database_Sqlite - Fatal编程技术网

C# SQLITE-INSERT不返回错误,但未插入任何数据

C# SQLITE-INSERT不返回错误,但未插入任何数据,c#,database,sqlite,C#,Database,Sqlite,我试图将数据从C#应用程序插入本地SQLITE数据库文件。事务不会抛出任何错误,但不会插入数据。相同的insert语句在查询分析器中工作 public string BuildInsert(string tableName, IDictionary<string, string> testDataDic) { stringBuilder = new StringBuilder(String.Format("INSERT INTO {0} ", tableNa

我试图将数据从C#应用程序插入本地SQLITE数据库文件。事务不会抛出任何错误,但不会插入数据。相同的insert语句在查询分析器中工作

public  string BuildInsert(string tableName, IDictionary<string, string> testDataDic)
    {
        stringBuilder = new StringBuilder(String.Format("INSERT INTO {0} ", tableName));
        AddColumns(stringBuilder,testDataDic.Keys);
        AddValues(stringBuilder, testDataDic.Values);

        return stringBuilder.ToString();

    }
我需要执行提交吗?有提交方法吗

命令的事务属性为null

  var command = new SQLiteCommand(insert.BuildInsert(tableName,keyValuePairs),Connection);

            command.ExecuteNonQuery();
更新:

我还尝试将SQLiteCommand与SQLiteTransaction关联起来,但没有成功

try
        {
            SQLiteTransaction liteTransaction = Connection.BeginTransaction();
            SQLiteCommand command = new SQLiteCommand(insert.BuildInsert(tableName, keyValuePairs), Connection);
            command.Transaction = liteTransaction;
            command.ExecuteNonQuery();
            liteTransaction.Commit();
        }
        catch (SQLiteException e)
        {
            //error
            connection.Close();
        }
BuildInsert方法只是构造一个作为插入的字符串。插入在查询分析器中工作正常

public  string BuildInsert(string tableName, IDictionary<string, string> testDataDic)
    {
        stringBuilder = new StringBuilder(String.Format("INSERT INTO {0} ", tableName));
        AddColumns(stringBuilder,testDataDic.Keys);
        AddValues(stringBuilder, testDataDic.Values);

        return stringBuilder.ToString();

    }

啊!因此,本地数据库构建操作被设置为“Always copu”,因为同一文件有多个版本


对不起。这太差劲了。

发布代码以查看您的尝试方式我希望看到BuildInsert方法的代码。也许有点不太对劲。好吧,现在您的AddColumns是否使所有列都在()中?像插入用户(用户名、密码)?-它是否确保没有额外的逗号?AddValues也是如此,是否正确构建查询?BuildInsert的返回值示例是什么?@thorkia我添加了一个insert语句示例。我真的怀疑这是问题所在。此插入在放入查询分析器时工作正常,不会报告应用程序中的错误。