30/09/2018, 17:05
Thuật toán tìm kiếm tên gần giống vơi chuỗi cho trước
Cho mình hỏi, thuật toán tìm kiếm cho ký tự unicode thế nào?
Mình có DB có các col là tên, bla bla… chứa ký tự unicode có dấu, mình muốn khi gõ vào khung search bằng không dấu thì nó tự tìm ra trong DB những cái gần giống với dữ liệu mình vừa gõ
Ai thông não giúp phát! nếu không dấu hết thì mình làm được rồi
Bài liên quan
Cách đơn giản nhất là chấp nhận dư thừa dữ liệu bằng cách thêm một cột trong db lưu trữ thêm nội dung sau khi loại bỏ dấu. Bạn dùng loại cơ sở dữ liệu nào? Ngôn ngữ lập trình là gì? Nên nêu đủ thông tin trong câu hỏi để mọi người có thể giúp bạn dễ dàng hơn!
Mình dùng C# - SQL server. Nếu không dấu thì dùng Search Like %% được. Còn có dấu thì chưa biết
Nếu có dấu thì nên chuyển về không dấu bằng cách thay ký tự có dấu thành không dấu sau đó dùng LIKE thôi.
Thuật toán chuyển như sao bạn?
đây là đoạn code mình dùng để chuyển chuỗi có dấu thành không dấu, mình dùng c#.
Mình định làm thêm 1 cột trong database để lưu từ khóa ko dấu (khi nhập dữ liệu mới mình chủ đông convert và thêm dữ liệu ko dấu đó vào côt đó)
Rồi dùng Search like % %
Nhưng khi vậy thì lúc show ra DataGridView cũng hiện luôn cái cột ko dấu đó rất xấu. Còn cách nào không nhỉ
sao không convert dữ liệu được load dữ liệu từ sql vào datagridview
Là sao mình chưa hiểu ý bạn?
à ý tưởng của mình là bạn lấy chuỗi từ datagridview rồi convert sang không dấu, xong so sánh với chuỗi bạn nhập vào khung search.
À ý của bạn là search bằng cách duyệt dataGW, còn mình thì định dùng câu lệnh select like % % rồi lấy trực tiếp từ sql luôn. Vì mình định khi search tìm thấy rồi lọc ra những kết quả tìm được show lên dataGW, ẩn mấy cái không trùng đi.
hình như sql có viết function chuyển có dấu thành không dấu vì URL giờ đa số không dấu hết
Hôm qua hỏi thì có người kêu dùng full-text search. Mà tìm hiểu ko hiểu nó là gì luôn
À DataGW mình load data lên bằng hàm này
Thì mình có thể tùy chọn cột nào đc hiển thị, cột nào ko hiển thị bằng cách nào?
mình search ra bài này không biết giúp ích gì không
mình chưa dùng datagridview lần nào nên pó tay
Cái đó sql riêng thì được chứ nếu dùng kết hợp C# mình cũng chưa biết dùng thế nào cả. Vì nó viết hàm riêng cho sql luôn rồi. Mình cũng mới học C# sql có hơn 1 tuần nên còn newbie lắm