Sqlite参数化插入查询(转义)

时间:2015-04-08 11:20:37

标签: sql .net sqlite system.data.sqlite

您好我尝试使用SQLite参数化查询 但是列名是DOT(。)

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES (@test.1, @test.3,@test.3)

返回

  

“SQL逻辑错误或数据库附近丢失”。“:语法错误”

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES ([@test.1], [@test.3],[@test.3])

返回

  

“SQL逻辑错误或缺少数据库   没有这样的专栏:@ test.1“

我如何逃避点并仍然使用名称作为参数!?

1 个答案:

答案 0 :(得分:3)

"适当" SQLite中的转义字符是双引号:

INSERT INTO Data("test.1", "test.2", "Test.3")
    VALUES ([@test1], [@test3], [@test3])

.保留在参数名称之外 - 大概是你可以控制它。

SQLite显式支持与MySQL兼容的反引号以及与MS Access和SQL Server兼容的方括号。 (正如您在documentation中看到的那样。)