我有一个文本框和一个搜索按钮,试图在数据库表中搜索文件名并将其显示在数据表中。

private void GetSearchResults(string machineID, string searchFileName)
{
    DataTable dt = new DataTable();
    SqlConnection connection = new SqlConnection();
    connection.ConnectionString = ConfigurationManager.ConnectionStrings["SumooHAgentDBConnectionString"].ConnectionString;
    connection.Open();
    SqlCommand sqlCmd = new SqlCommand("SELECT FileID, BuFileName FROM BackedUpFiles WHERE BuFileName Like '%@searchFileName%' AND MachineID=@machineID", connection);
    SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);

    sqlCmd.Parameters.AddWithValue("@machineID", machineID);

    sqlCmd.Parameters.AddWithValue("@searchFileName", searchFileName);

    sqlDa.Fill(dt);
}


一切工作正常,除了searchFileName在查询中不起作用...

我试图把一个值检查像

SELECT FileID, BuFileName FROM BackedUpFiles WHERE BuFileName Like '%b%' AND MachineID=@machineID


我得到了文件值...

有什么建议么..??

最佳答案

您将变量放在字符串中,该变量告诉数据库搜索文字字符串'@searchFileName'。要使用变量的值,请尝试以下操作

'%' + @searchFileName + '%'

关于c# - 在数据库表中搜索值并将其放在数据表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2141895/

10-11 03:00