09/10/2018, 18:03 
               
            Làm sao insert kí tự '' vào CSDL bằng ASP???
               
					Mình insert kí tự ' vào CSDL bằng ASP thì báo lỗi, vậy cách nào để insert nó, mình thấy Snitz Forum insert được mà???
				            
            
         
            Bài liên quan
         
               
            




Function FormatStringInput(str) str = Replace(str,"'", "''") FormatStringInput = str End Functionstr = Replace(str,"'", "''")
Ví dụ: khi bạn muốn cấm Insert các thẻ HTML chẳng hạn, hay là bạn không cho Insert các dòng script, ...
query = 'INSERT INTO user(name,email) VALUE ("' & fld_name & '", "' & fld_email & '")'Xem kỹ câu lệnh sql bạn sẽ biết thôi.
Nếu lệnh truy vấn là:
Dim fld_name, fld_email
fld_name = Request.From("name")
fld_email = Request.From("email")
query = "INSERT INTO user(name,email) VALUES (' " & fld_name & " ', ' " & fld_email & " '); "
Lúc người dùng nhập:
name: qua'ch hy? La^m
email: quachhylam@yahoo.com
Vậy thì câu lệnh khi đó sẽ là:
query = " INSERT INTO user(name,email) VALUES (' qua'ch hy? La^m ', ' quachhylam@yahoo.com ');"
-> Trình duyệt sẽ báo lỗi vì IIS cho rằng kí tự ' ngay tại qua'ch hy? La^m là dấu chú thích
Giải pháp là dùng hàm Replace để chuyển kí tự ' thành kí tự nào khác, và khi ta lấy dữ liệu từ DATABASE ta lại dùng hàm Replace để trả về chính tứ tự '.
Ở đây không phải là chèn ' mà chèn kí tự trung gian.
Mình hỏi là có giải pháp nào chèn chính xác kí tự ' không???
Chỉ cần chú ý 1 tý sẽ biết thôi.