对不起,我是C#上的新手。我正在做一个基本的在线课程,并且我已经对一个示例中的代码进行了验证,因为我正在编写一个程序,该程序可以显示特定流派的电影列表,其中的标题包含给定的字符串。局部变量名为'selectedData'不能声明
我收到以下错误消息时我尝试推出的浏览器应用程序:
编译器错误信息:CS0136:命名为“selectedData”的局部变量不能在此范围内声明,因为它会给出不同的意思是'selectedData',它已经在'父或当前'范围内用于表示别的东西
======================== =============================================================
源错误:
第12行:searchGenreS = Request.QueryString [“searchGenre”]; 第13行:searchTitleS =“%”+ Request [“searchTitle”] +“%”; 第14行:var selectedData = db.Query(selectCommand,searchGenreS,searchTitleS); 第15行:
行16:}
源文件:C:\用户\查尔斯\ Documents \我的网站\ WebPagesMovies \ MoviesCombinedQuery.cshtml行:14
下面是代码:
@{
var db = Database.Open("WebPagesMovies") ;
var selectCommand = "SELECT * FROM Movies";
var searchTerm = "";
var searchGenreS = "";
var searchTitleS = "";
var selectedData = "";
if((!Request.QueryString["searchGenre"].IsEmpty()) && (!Request.QueryString["searchTitle"].IsEmpty() ))
{
selectCommand = "SELECT * FROM Movies WHERE Genre = @0 AND Title LIKE @1";
searchGenreS = Request.QueryString["searchGenre"];
searchTitleS = "%" + Request["searchTitle"] + "%";
var selectedData = db.Query(selectCommand, searchGenreS, searchTitleS);
}
else
{
if(!Request.QueryString["searchGenre"].IsEmpty())
{
selectCommand = "SELECT * FROM Movies WHERE Genre = @0";
searchTerm = Request.QueryString["searchGenre"];
}
if(!Request.QueryString["searchTitle"].IsEmpty())
{
selectCommand = "SELECT * FROM Movies WHERE Title LIKE @0";
searchTerm = "%" + Request["searchTitle"] + "%";
}
var selectedData = db.Query(selectCommand, searchTerm);
}
var grid = new WebGrid(source: selectedData, defaultSort: "Genre", rowsPerPage:3);
}
任何人都可以帮助我?
谢谢!
干杯!
你已经有'selectedData'变量在'if'块之前声明 –
你可能有一个命名问题,但我认为你会很难'尝试编写一个能够显示书目列表的程序'如果你在名为'WebPagesMovies'的数据库上查找书籍=) – user2140261
哈哈哈...对不起...我的意思是MOVIES – user2038763