Dấu ' trong string của SQL statement

Phạm Quang Linh
(pqlinh)

Điều hành viên
select gameID from games where opening='Queen's Gambit Declined'

cái dấu ' ở giữa làm thế nào bây giờ mọi người ơi :((
Linh thử Queen''s (2 single quote) và Queen\'s đều không được :(
Có ai có cao kiến gì không nhỉ :)
 
Anh thử cái này xem
select gameID from games where opening="Queen's Gambit Declined"
 
Hihi cảm ơn em, query trong access thì dùng opening="..." được nhưng asp thì phải viết
sqlstr = "select ... " thành ra double quote cũng hỏng nốt :((
Làm thế nào bây giờ nhỉ :(
 
Có thể dùng một cách rất là thô sơ thôi. Chẳng hạn:
aa = "Queen"
bb = "s Gamebit Declined"
Rồi
sqlstr = "select gameID from games where opening='" & aa & "'" & bb & "'";
Hoặc còn một cách nữa là dùng Replace() function để replace cái dấu ' bằng ASCII code
 
ùi cảm ơn monkey, nhưng cái trick của monkey cũng không work :)
Không biết replace ascii code như thế nào nhỉ ?
Tớ thử dùng wildcard ? (kể cả * cũng không ăn thua)

sql = "select gameid from games where opening like 'Queen?s gambit declined'"

nhưng query trong access thì ok mà bỏ vào asp thì no record return
thế là thế nào nhẩy :( (access 2k, ISS 5.0)
 
Thế thì dùng Replace function được. Cái trick này là mỗi khi nhìn thấy cái single quote thì thay thế bằng double quote hoặc bất cứ một kí tự nào đó.
Chẳng hạn str = Replace(str, "'", "\""); Check lại cái syntax, tôi không dùng VBScript hay là asp thường nên không dám chắc. Nhưng đại loại là như thế
Do the same thing với cái data ở trong database khi enter. Như thế thì có thể so sánh được. Còn nếu mà không muốn làm cách này thì để tôi viết một cái VBScript code segment giải quyết vấn đề này cũng được. Chắc là khoảng 5-6 lines of code thôi. Cứ thử cái Replace function xem sao.
 
Back
Bên trên