2011-11-19 68 views
1

如何使用通配符從表格中獲取元素?如何使用c#在sqlite中使用通配符從表中列出項目?

我已經做了類似的代碼。 這裏是什麼?如果我把它放到循環中是否安全?

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()); 
       }  

      } 
     } 

回答

0

你試過

String insSQL = "SELECT [element] FROM [table] like @Word"; //% search with prefix and postfix 

SQLiteCommand cmd = new SQLiteCommand(insSQL); 
cmd.Parameters.AddWithValue("@Word", "%" + "dog" + "%"); 

+0

是的,但它沒有幫助。 – deadfish

相關問題