0

如何在 SQLITE 中正确转义以下查询?我似乎无法找到一种工作方式来最终逃离现场路径。

insert into mytable values ('IMG_1862_a.jpg', 'True', 'True', 'I:\where i've been\stock laptop\IMG_1862_a.jpg')

我尝试了很多,包括:

    insert into mytable values ('IMG_1862_a.jpg', 'True', 'True', 'I:\where i^'ve been\stock laptop\IMG_1862_a.jpg') ESCAPE '^'
4

1 回答 1

2

在 SQL 中,字符串中的引号通过加倍来转义:

insert into mytable values(..., 'I:\where i''ve been\stock laptop\IMG_1862_a.jpg')

但是,您应该始终使用参数来避免这样的格式问题或SQL 注入攻击

Dim sql As String = 'INSERT INTO MyTable VALUES(@file, @a, @b, @path)'
Dim cmd As SqlCommand = New SqlCommand(sql, con)
With cmd.Parameters
    .Add(New SqlParameter("@file", "IMG_1862_a.jpg"))
    .Add(New SqlParameter("@a", "True"))
    .Add(New SqlParameter("@b", "True"))
    .Add(New SqlParameter("@path", "I:\where i've been\stock laptop\IMG_1862_a.jpg"))
End With
于 2013-08-24T20:30:51.800 回答