2017-10-20 43 views
0

Je ne suis pas familier avec SQLite et j'essaie de prendre des éléments d'une liste et de les jeter dans une base de données simple. Créez la base de données (si elle n'existe pas), puis remplissez-la, c'est tout. Je joue avec ça depuis quelques jours maintenant et je n'arrive pas à trouver la bonne syntaxe..NET listbox à SQLite DB

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

voyez-vous des erreurs? – Sajeetharan

+0

@harandk nah, varchar devrait être bien je crois – Noctis

Répondre

0

Essayez SQLiteParameter("@str", str). Vous devez lier à votre paramètre configuré, qui est @str pas @ENTRY

+0

Je savais que c'était quelque chose de simple, merci! –

+0

@Kayla Johnston s'il vous plaît accepter la réponse quand il était approprié – harandk