2017-10-20 69 views
0

我很不熟悉SQLite,并试图从列表框中取出项目并将它们放入简单的数据库中。创建数据库(如果它不存在),然后填充它,就这些了。我一直在玩它几天,似乎无法得到正确的语法。.NET列表框到SQLite数据库

public SQLiteConnection createDatabase() 
    { 
     try 
     { 
      var conn = new SQLiteConnection("Data Source= DB.db;Version=3"); 
      conn.Open(); 
      return conn; 

     } 
     catch (Exception e) 
     { 
      throw new IOException("Unable to connect to database.", e); 
     } 

    } 

    public void ImportDB() 
    { 
     SQLiteConnection conn= createDatabase(); 

     SQLiteCommand cmd = conn.CreateCommand(); 
     cmd.CommandText = "CREATE TABLE IF NOT EXISTS LOG(ENTRY varchar(300))"; 
     cmd.ExecuteNonQuery(); 
     for(int i = 0; i < listBox1.Items.Count; i++) 
     { 
      string str = listBox1.Items[i].ToString(); 
      cmd.CommandText = "INSERT INTO LOG(ENTRY) Values(@str);"; 
      cmd.Parameters.Add(new SQLiteParameter("@ENTRY", str)); 
      cmd.ExecuteNonQuery(); 
     } 
+0

您是否看到任何错误? – Sajeetharan

+0

@harandk nah,varchar应该很好,我相信 – Noctis

回答

0

尝试SQLiteParameter("@str", str)。 您需要绑定到您配置的参数,即@str而不是@ENTRY

+0

我知道这是简单的,谢谢! –

+0

@Kayla Johnston请在适当时接受答案 – harandk