未处理的 SQLite 异常
Unhandled SQLite Exception
我正在关注一个 youtube 视频,该视频制作了一个基本的 C# 控制台应用程序,该应用程序将创建并写入 SQLite 数据库。视频中的代码执行了,但我收到一个未处理的异常,指出 {"SQL logic error or missing database\r\ntable Mytable has no column named Name"}
代码如下:
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();
}
}
}
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)";
我正在关注一个 youtube 视频,该视频制作了一个基本的 C# 控制台应用程序,该应用程序将创建并写入 SQLite 数据库。视频中的代码执行了,但我收到一个未处理的异常,指出 {"SQL logic error or missing database\r\ntable Mytable has no column named Name"}
代码如下:
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();
}
}
}
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)";