ListView SELECT查询不返回任何东西
本文关键字:任何东 返回 SELECT 查询 ListView | 更新日期: 2023-09-27 17:50:39
我正在构建一个图书馆管理软件,我试图按名称搜索书籍。但是,当我尝试使用我实现的东西时,什么也没有返回。
这是用于从数据库中检索数据的代码。
string constr = ConfigurationManager.ConnectionStrings["LibraryContext"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand())
{
string bookTitle = Request.QueryString["BookTitle"];
cmd.Parameters.AddWithValue("@Title", bookTitle);
cmd.CommandText = "SELECT * FROM Books WHERE Title LIKE '%@Title%'";
//cmd.Parameters.AddWithValue("@Title", bookTitle);
cmd.Connection = con;
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
sda.Fill(dt);
lvCustomers.DataSource = dt;
lvCustomers.DataBind();
}
}
}
谢谢你的帮助
不要在参数周围加上引号
cmd.CommandText = "SELECT * FROM Books WHERE Title LIKE %@Title%";
参数周围的引号将其中的所有内容转换为文字字符串当然,我假设您没有任何书名字面上是"%@Title%"的书
我更喜欢用
cmd.CommandText = "SELECT * FROM Books WHERE Title LIKE @Title";
cmd.Parameters.Add("@Title", SqlDbType.NVarChar).Value = "%" + bookTitle + "%");
AddWithValue是一个快捷方式,有许多缺点,你需要意识到在尝试使用它之前:我们可以停止使用AddWithValue吗?