2017-02-08 1 views
0

SQLite 데이터베이스를 만들고 쓰는 기본 C# 콘솔 앱을 만드는 YouTube 비디오를보고 있습니다. 비디오의 코드는 실행하지만 난 여기에처리되지 않은 SQLite 예외

{ "SQL 논리 오류 또는 데이터베이스 누락이 \ 연구 \ MYTABLE ntable 이름라는 이름의 열이 없습니다"} 없다는 내용의 처리되지 않은 예외가 받고 코드입니다 :

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data.SQLite; 

namespace SQLiteProject 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string createQuery = @"CREATE TABLE IF NOT EXISTS 
            [Mytable] (
            [Id} INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
            [Name] NVARCHAR(2048) NULL, 
            [Gender] NVARCHAR(2048) NULL)"; 
      System.Data.SQLite.SQLiteConnection.CreateFile("sample.db3"); 
      using(System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection("data source=sample.db3")) 
      { 
        using(System.Data.SQLite.SQLiteCommand cmd=new System.Data.SQLite.SQLiteCommand(conn)) 
        { 
         conn.Open(); 
         cmd.CommandText = createQuery; 
         cmd.ExecuteNonQuery(); 
         cmd.CommandText = "INSERT INTO Mytable(Name,Gender) values('Brett','male')"; 
         cmd.ExecuteNonQuery(); 

         cmd.CommandText = "SELECT * from Mytable"; 
         using(System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader()) 
         { 
          while (reader.Read()) 
          { 
           Console.WriteLine(reader["Name"]+ ":" + "reader['Gender']"); 
          } 
          conn.Close(); 
         } 

        } 
       } 
      Console.ReadLine(); 
     } 
    } 
} 
+2

은 적어도 당신이 만들 부분에 오타가 –

+0

SQLite는 내가 그냥 잡은 괄호 –

+0

를 사용하지 않습니다. 이제는 그것이하는 일을합니다. 감사! –

답변

1

CREATE TABLE 영역의 입력 오류로 인해 대괄호 및 중괄호에 문제가 발생했습니다. 제 읽어야합니다

string createQuery = @"CREATE TABLE IF NOT EXISTS 
            [Mytable] (
            [Id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 
            [Name] NVARCHAR(2048) NULL, 
            [Gender] NVARCHAR(2048) NULL)";