【问题标题】:How list items from table with wildcard in sqlite using c#?如何使用c#在sqlite中使用通配符列出表中的项目?
【发布时间】:2023-04-01 12:35:01
【问题描述】:

如何使用通配符从表格中获取元素?

我已经编写了类似的代码。 这里有什么问题?如果我把它放入循环中是否安全?

private void Pokaz()
    {
        String sql = "SELECT [element] FROM [table] LIKE @Word";
        SQLiteConnection connection = new SQLiteConnection(@"Data Source=C:\Temp2\dictionary.s3db");
        connection.Open();
        SQLiteCommand cmd = new SQLiteCommand(connection);
        cmd.CommandText = sql;
        cmd.Parameters.AddWithValue("@Word", "%" + "dog" + "%");
        DataTable dt = new DataTable();
        SQLiteDataReader reader = cmd.ExecuteReader();
        dt.Load(reader);
        reader.Close();
        connection.Close();
        dataGridView1.DataSource = dt;
    }

我改为String sql = "SELECT [element] FROM [table] where [element] LIKE \'@Word\'"; ,但现在我得到了空结果。


我也试过这个方法。固定和工作。仍然没有。

List<string> list = new List<string>();
        string connectionString = @"Data Source=C:\Temp2\dictionary.s3db";
        string sql = "SELECT [element] FROM [table] where [element] LIKE  \'%dog%\' ";

        using (var connection = new SQLiteConnection(connectionString))
        {
            using (var command = new SQLiteCommand(sql, connection))
            {
                connection.Open();

                SQLiteDataReader rd = command.ExecuteReader();
                while (rd.Read())
                {
                    list.Add(rd[0].ToString());
                }       

            }
        }

【问题讨论】:

    标签: c# sqlite wildcard sql-like


    【解决方案1】:

    你试过了吗

    String insSQL = "SELECT [element] FROM [table] like @Word"; //% search with prefix and postfix
    
    SQLiteCommand cmd = new SQLiteCommand(insSQL);
    cmd.Parameters.AddWithValue("@Word", "%" + "dog" + "%");
    

    ?

    【讨论】:

      猜你喜欢
      • 2014-04-06
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多