사용자가 콤보 상자에서 이름을 선택하거나 새 이름을 입력해야하는 vb.net 프로젝트에 시나리오가 있습니다. 물론SQL에서 따옴표 바꾸기
이름은 데이터베이스에 티나 O''Hara로 저장됩니다 티나 오하라 같이 '을 가질 수 있습니다.
내 combobox는 sql select 명령으로 채워집니다. 을 바꾸므로 이름이 드롭 다운에 올바르게 표시됩니다.
SqlStr = "SELECT Replace(ContactName, '''', ''') AS ddlText FROM tbl_Visits Where CustID = " & hd_CustID.value & " ORDER By ContactName"
PopulateCMBX(cmbx_ContactName, SqlStr, "Please Select")
PopulateCMBX는 ... 이것은 첫 번째 옵션으로 '선택하세요'와 콤보 상자 ITEMLIST을 공급 SqlStr에서 이름의 목록을 가져 와서 웁니다. 나는이 문제를 해결 어떻게 '의 일치 세트가 아니므로
SqlStr 오류를 생산하고있다. Thanks
오류가 정확히 무엇을 말합니까? 왜 DB에 이름을 이중 어포 스트로피로 저장 했습니까? –
작은 따옴표로 저장할 수 없습니다. 예를 들어 작동하지 않습니다. Tbl_Customer Value ('Tina O'Hara')에 삽입하여 Tina O''Hara로 삽입해야합니다. 그런 다음 내가 할 때마다 .Replace (" '", "'")를합니다. 그래도 내 콤보 상자를 채우기 위해 이것을 사용할 수는 없다. – Mych
아포스트로피를 두 배로 저장할 필요가 없다. '티나 오하라 (Tina O''Hara) '를 삽입하면 작은 따옴표로 저장됩니다. 이 문자열을 매개 변수가있는 쿼리로 전달하는 경우를 제외하고는 어포 스트로피를 전혀 이스케이프 할 필요가 없습니다. –