none
[UWP][SQL] App 에서 SQLite 사용 중인데 Query 조건을 한글 할수가 없습니다. RRS feed

  • 질문

  • UWP에서 SQLite 사용하여 DB 관리 하는 App 작성 중입니다.

    그런데 Query 조건에 한글을 넣으면 Data를 가져오지 못합니다.

    영어로 하면 잘 됩니다.

    using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), App.DB_MANAGEITEMS_PATH))
                    {
                        List<ManageItems> myCollection = conn.Query<ManageItems>("select * from ManageItems where StoreSubName ='" + ItemsStoreSubName('한글') + "' and CreationDate ='" + ItemsCreationDate + "'").ToList<ManageItems>();
                        ObservableCollection<ManageItems> ItemsList = new ObservableCollection<ManageItems>(myCollection);
                        return ItemsList;
                    }

    SQL Command 에서 한글 입력 글자만큼 뒤에 command 가 짤리는걸로 보입니다.

    실제 CreationDate 가 20170404 인데 Exception 내용을 보면 끝 2자가 짤렸습니다.

    Command 끝에 space 넣어서 Exception 은 발생하지 않게 할수 있는데, Data는 못가져옵니다.

    이미 Command 중간에 들어간 한글이 깨진걸로 판단됩니다.

    혹시 방법을 아시면 알려주세요.

    jack

    2017년 6월 15일 목요일 오전 8:45

답변

  • 영어 이외의 문자를 넘겨야 하는 경우 아래와 같이 파라미터화 해서 넘겨서 처리해보시기 바랍니다.

    List<ManageItems> myCollection = conn.Query<ManageItems>("select * from ManageItems where StoreSubName ='?' and CreationDate ='?'", ItemsStoreSubName('한글'), ItemsCreationDate).ToList<ManageItems>();


    2017년 6월 16일 금요일 오전 4:59

모든 응답