如何在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 '^'
答案 0 :(得分:1)
在SQL中,字符串中的引号通过加倍来转义:
insert into mytable values(..., 'I:\where i''ve been\stock laptop\IMG_1862_a.jpg')
但是,您应始终使用参数来避免格式化此类问题,或SQL injection attacks:
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