【发布时间】:2017-04-16 17:09:21
【问题描述】:
有没有办法在 SQLite 数据库中存储 TEXT 而 SQLite 不尝试解析它? 遇到一个问题,当您存储类似于 SQLite 查询的 TEXT 时,它会出于某种原因尝试对其进行解析。
我用来保存 TEXT 的查询:"insert into tableName (Name, DateCreated, Reminder, Content) values ('name', 'currentDate', 'reminder', 'content')".
我正在尝试保存的类似文本:"SELECT NAME FROM sqlite_master WHERE TYPE='table' ORDER BY NAME".
当我尝试保存类似的内容时,它显示:错误:SQL 逻辑错误或“表”附近缺少数据库:语法错误
请注意,值(名称、currentDate、提醒、内容)不是硬编码的,它们是作为字符串传递的。实际代码如下:
SQLiteCommand command = new SQLiteCommand("insert into " + cateName + " (Name, DateCreated, Reminder, Content) values ('" + noteName + "', '" + currentDate + "', '" + reminder + "', '" + content + "')", connection);
感谢您的任何意见。
【问题讨论】:
-
请显示您用于保存值的代码。您目前的 INSERT 语句被硬编码为字符文字......我确定这不是您实际在做的事情。 (我怀疑问题是您应该使用参数化 SQL,但如果不查看您的代码,我们就无法判断。)
-
你在第二个文本中有一个额外的“,这是准备这个问题时的错字吗?
-
@JonSkeet,抱歉,刚刚更新了代码。
-
@waTeim,抱歉打错了。
-
听起来您正面临自我诱导的 SQL 注入攻击 :-)