【发布时间】:2017-12-17 06:21:30
【问题描述】:
我正在使用 asp.net 处理从某个表返回列的 SQL 查询。通常我要做的是设置一个等于存储过程函数调用的变量并在最后添加.ToArray(),这是我想要在这里做的,但我收到一条错误消息int does not contain a definition for toarray...
我很困惑,因为我遵循了在程序的另一部分中用于类似事情的相同语法。以前很好用,现在想不通为什么要和我打架。
这是我的 SQL:
IF OBJECT_ID('#temp') IS NOT NULL
BEGIN
DROP TABLE #temp
END
--Create temp table to store data
CREATE TABLE #temp
(
EventID nvarchar(50),
RunDate date,
SectionCode nvarchar(50),
SectionMapCode nvarchar(50),
DispSort int,
Capacity int,
Attendance int,
PctCap int,
HeatColor nvarchar(50)
)
DECLARE @runDate date = GETDATE()
INSERT #temp Exec GamedayReporting.dbo.uspGetEventKillSheetDetailedReport @EventID, @runDate;
select Capacity from #temp;
这完全返回了我在 SQL 中想要的内容,但是当我在控制器中调用它时,我得到了上面发布的错误。
这是我的 C# 代码:
public ActionResult Dropdown()
{
// add your code after post method is done
var selectedOption = Request["eventId"];
var date = DateTime.Today;
var myQuery = db.uspGetEventKillSheetDetailedReport(selectedOption, date).ToArray();
ViewData["query"] = myQuery;
System.Diagnostics.Debug.WriteLine(myQuery);
TempData["option"] = selectedOption;
return RedirectToAction("Map");
}
public ActionResult Map()
{
var secAttendance = db.uspGetSectionAttendance("option").ToArray();
var secCapacity = db.uspGetSecCapacity("option");
var secMapCode = db.uspGetSectionMapCode("option");
}
public JsonResult GetDropdownList()
{
var ids = db.uspGetAllEventIds().ToArray();
ViewData["ids"] = db.uspGetAllEventIds().ToArray();
return Json(new { data = ids }, JsonRequestBehavior.AllowGet);
}
所以Dropdown() 和GetDropdownList() 工作正常,但我遇到了Map() 的问题。
基本上我想获取从我的 SP 返回的列并将其存储到一个数组中,但它不会让我这样做。谁能帮我解决这个问题?
更新
我将.ToArray() 更改为.toString().toArray(),这让我克服了编译器错误,但在将其登录到控制台后,我发现它返回的是char 而不是string。所以我把整行改成
string secAttendance = new string(db.uspGetSectionAttendance("option").ToString().ToArray());
将结果输出到控制台,发现返回0。
0来自SQL中的返回值,我不明白。它将获取正确的列,但不会将正确的数据发送到 ASP。
这是我的 SQL 输出的屏幕截图:
【问题讨论】:
-
int does not contain a definition for toarray错误信息说明了一切;你不能打电话给ToArray()。如何计划使用最终结果? -
@Win 我要将整个列从 SP 存储到一个数组中,然后将数组发送到我的视图以在函数中使用
标签: c# asp.net sql-server stored-procedures