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

问题描述:

我试图从C#应用程序中将数据插入到本地SQLITE数据库文件中。该事务不会引发任何错误,但数据不会被插入。相同的插入语句在查询分析器中工作。SQLITE - INSERT不会返回错误,但不会插入任何数据

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

命令的事务属性为null ..

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

      command.ExecuteNonQuery(); 

UPDATE:

我也试图assciate我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方法只是构造一个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(); 

    } 

这是INSERT语句的一个例子。这代码以外的罚款,但不会抛出任何错误:

INSERT INTO TestData (walking,running,image,yoga,exercise,meditation,hobby,somethingelse,howoften,numtechniques,userreturn,chosentechnique,chosentechnique)VALUES ("true","I will try to use deep breathing.","false","true","false","false","true","true","When I'm stressed","1","true","deepbreathing","deepbreathing"); COMMIT; 
+0

邮政编码,看看你是如何尝试 – Pentium10 2010-06-14 20:47:47

+0

我想看看BuildInsert方法的代码。也许有些事情并不完全正确。 – thorkia 2010-06-14 21:41:25

+0

好吧,现在您的AddColumns是否使所有列都在()中?喜欢插入用户(用户名,密码)? - 并确保没有额外的逗号? AddValues相同,是否构建查询正确?什么是来自BuildInsert的示例返回值? – thorkia 2010-06-14 21:55:56

DOH!所以本地数据库构建操作被设置为'总是copu'我有同一个文件的多个版本。

对不起。这是跛脚。