I am unable to use WebMatrix database method Query() with 2 interpolate string.
Actual Code: (Not working)
@{
var db = Database.Open("WebPagesMovies") ;
var selectCommand = "SELECT * FROM Movies";
var item = "";
var search = "";
if(!Request.QueryString["searchTitle"].IsEmpty() ) {
selectCommand = "SELECT * FROM Movies WHERE @0 LIKE @1";
item = Request.QueryString["item"];
search = "%" + Request.QueryString["search"] + "%";
}
var selectedData = db.Query(selectCommand, item, search); // **NOT WORKING**
var grid = new WebGrid(source: selectedData, defaultSort: "Genre", rowsPerPage:3);
}
Working
@{
var db = Database.Open("WebPagesMovies") ;
var selectCommand = "SELECT * FROM Movies";
var search = "";
if(!Request.QueryString["searchTitle"].IsEmpty() ) {
selectCommand = "SELECT * FROM Movies WHERE Title LIKE @0";
item = Request.QueryString["item"];
search = "%" + Request.QueryString["search"] + "%";
}
var selectedData = db.Query(selectCommand, item, search);
var grid = new WebGrid(source: selectedData, defaultSort: "Genre", rowsPerPage:3);
}
Why am I unable to interpolate 2 string like item and search in Query() method? Does it not supported in ASP.NET?
On debugging I can see that values are assigned to item and search. But values are not passed to Query() method.
Official Doc: