【发布时间】:2016-06-13 23:50:30
【问题描述】:
我的代码有问题,我想打开外键,但收到错误消息。 我正在使用与 nuget 一起安装的 SQLitePCL,并为 UWP 添加了 SQLite 作为参考。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var parameter = e.Parameter as string;
if (parameter != null && parameter.Equals("new"))
{
SQLiteConnection dbConnection = new SQLiteConnection("New.db");
string Head_Create = @"CREATE TABLE IF NOT EXISTS Head
(ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
, A TEXT
, B TEXT
, C TEXT
, D TEXT
, E TEXT
);";
ISQLiteStatement cnStatement_Head1 = dbConnection.Prepare(Head_Create);
cnStatement_Head1.Step();
string SQLite_Metrados_Head_Pragma = @"PRAGMA foreign_keys = ON";
ISQLiteStatement cnStatement_Head2 = dbConnection.Prepare(SQLite_Metrados_Head_Pragma);
cnStatement_Head2.Step();
我在该行中得到了错误:
ISQLiteStatement cnStatement_Head2 = dbConnection.Prepare(SQLite_Metrados_Head_Pragma);
附加信息:无法准备sql语句:PRAGMA foreign_keys = ON 详细信息:“PRAGMA foreign_keys”附近:语法错误
这似乎是一个语法错误,但我正在为外键编写正确的字符串,我正在使用字符串进行测试:
@"PRAGMA foreign_keys = ON;"
但它也会出错。
感谢您对我的字符串(或在 sqlite 中打开外键的正确字符串)的任何帮助。
【问题讨论】:
-
感谢您的回复,我的 SQLitePCL 版本是 3.8.7.2,数据库是使用 CREATE 创建的。
标签: c# sqlite foreign-keys uwp