PDA

View Full Version : Lam the nao de Search Full-Text with Unicode



thinhhangdieu
15-05-2004, 17:42
Ai biet xin chi gium cho sai trong cau lenh nay
strSearch = "SELECT * FROM table WHERE FREETEXT (field1, @searchphrase)"
cmdSearch = New SqlCommand(strSearch, conPubs)
cmdSearch.Parameters.Add("@searchphrase", txtSearchPhrase.Text)
Tôi đã thử các kiểu dữ liệu ntext, nchar, nvarchar cho trường field1 nhưng đều báo lỗi khi nội dung của trường field1 là tiếng Việt Unicode có dấu.
Vậy làm thế nào để chuyển chuỗi trong ASP.Net sang Unicode giống như __T() trong C++6.0, hoặc giống như N' ' trong câu lệnh SQL.
Mong các bạn chỉ dẫn cho biết với

blueinred
15-05-2004, 17:56
Đọc xong không hiểu gì hết, theo tui làm thì thấy .NET suppsupport UTF-8,Unicode vô tư chạy, chẳng thấy lỗi gì..., còn không thì dùng thử dạng như vậy xem sao :
string str= @"Lùi một bước..";

thinhhangdieu
18-05-2004, 02:51
Toi dung cau lenh nhu the nay thi tim rat tot:
strSearch ="SELECT * FROM table WHERE field1 LIKE "chuoiUnicode") thi tim rat tot nhung chi e ngai khi so ban ghi > vai trieu thi toc do khong dam bao. Nen toi muon dung full-text search giong nhu duoi day:
strSearch ="SELECT * FROM table WHERE FREETEX("@searchphrase",field1)
khi execute thi chay tot khi khong phai la chuoi Unicode, nhung neu la Unicode thi luon bao loi. Vay mong ban, neu co the thi xem giup roi chi gium cho toi.
Xin cam on va mong nhan hoi am som

nthctu
18-08-2004, 02:13
Dùng SELECT * FROM table WHERE field1=N'chuoiUnicode

thinhhangdieu
20-08-2004, 02:07
Xin cảm ơn nhiều!
Cám ơn bạn đã cho ý kiến, Nhưng vấn đề ở chỗ là từ khoá để tìm kiếm chỉ lả một phần của trường dữ liệu. Ví dụ tôi có trường tác giả là: "Vũ trọng An, Lê mai Ánh, ...." và tôi muốn tìm tất cả các bản ghi mà trường tác giả có chứa từ "an", tôi dùng LIKE thì ổn nhưng e ngại về tốc độ tìm khi số bản ghi có thể lên tới khoảng 1 trăm ngàn. Nếu dùng FULLTEXT với nội dung không phải là unicode thì được, nhưng nếu là unicode thì đứt ngay, nó báo lỗi trong việc truy xuất CSDL. Vậy cảm phiền bạn cho thêm ý kiến.
Xin cảm ơn bạn rất nhiều!
Mong sớm nhận được hồi âm từ bạn.