2017-10-20 10 views
0

저는 SQLite에 익숙하지 않고 목록 상자에서 항목을 가져 와서 간단한 데이터베이스에 던지려고합니다. 데이터베이스가 존재하지 않는다면 데이터베이스를 생성 한 다음 채우십시오. 나는 며칠 동안 놀고 있었고 정확한 구문을 이해하지 못하는 것 같습니다..NET리스트 박스에서 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

오류가 있습니까? – Sajeetharan

+0

@harandk nah, varchar는 내가 잘 믿어야합니다. – Noctis

답변

0

시도 SQLiteParameter("@str", str). @str이 아닌 구성된 매개 변수에 바인딩해야합니다. @ENTRY

+0

나는 그것이 단순한 것으로 알고있었습니다. 감사합니다! –

+0

@Kayla Johnston이 적절한시기에 대답을 수락하십시오. – harandk