Mysql Soundex VB.NET 格式

Mysql Soundex in VB.NET format

我有这些代码行,我正在尝试查看我的数据库以获取 soundex 结果,但显然它没有返回任何结果。

con.Open()

    Try
        Dim query As String
        query = "SELECT * FROM table_name WHERE column_name LIKE CONCAT('" & "%" & "',SOUNDEX('" & input & "'),'" & "%" & "')"
        cmd = New MySqlCommand(query, con)
        adapter.SelectCommand = cmd
        reader = cmd.ExecuteReader
        Dim list As New ListViewItem
        While reader.Read()
            list = ListView1.Items.Add(dr(1).ToString())
            list.SubItems.Add(dr(2).ToString())
        End While
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

    con.Close()

它甚至不会在 MessageBox 上抛出异常。

为了确保在我执行上面的查询之前从我的数据库返回数据,我做了 select * from table_name

谢谢!

我会在前面说我一点也不熟悉 MySQL,但是 Soundex 算法通常 returns 一个 "code"发音相似的词也一样。例如

SOUNDEX('Smith') = 'S530'
SOUNDEX('Smythe') = 'S530'

因此,为了找到 column_name 值听起来像 input 值的记录,您需要这样的东西(注意有关 SQL 注入问题和 不要使用如下所示的字符串连接!):

query = "SELECT * FROM table_name WHERE SOUNDEX(column_name) = SOUNDEX('" & input & "')"