Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从SQL查询用HTML填充表_Html_Sql_Razor - Fatal编程技术网

如何从SQL查询用HTML填充表

如何从SQL查询用HTML填充表,html,sql,razor,Html,Sql,Razor,我有一个基本的html页面,我想在上面显示一个表,由SQL查询填充 我想显示所有分类为基本项的缺货零件号 我在webmatrix上使用CSHTML和razor语法。 我试过这个: var nilstock=db.QueryValue(“从dbo.STOCK\u项中选择STOCKCODE、TOTALSTOCK,其中STOCK\u分类在(170190200)中)和TOTALSTOCK不太熟悉查询db的方式,但您可能对结果集进行了如下迭代: <table> @foreach(var

我有一个基本的html页面,我想在上面显示一个表,由SQL查询填充

我想显示所有分类为基本项的缺货零件号

我在webmatrix上使用CSHTML和razor语法。 我试过这个:


var nilstock=db.QueryValue(“从dbo.STOCK\u项中选择STOCKCODE、TOTALSTOCK,其中STOCK\u分类在(170190200)中)和TOTALSTOCK不太熟悉查询db的方式,但您可能对结果集进行了如下迭代:

<table>
    @foreach(var n in nilstock)
    {
        <tr><td>@n.STOCKCODE</td><td>@n.TOTALSTOCK</td></tr>
    }
<table>
@{
    // Open database connection etc
    var nilstock = db.Query("select STOCKCODE, TOTALSTOCK from dbo.STOCK_ITEMS where STOCK_CLASSIFICATION in(170,190,200) and TOTALSTOCK <1 order by STOCKCODE");
}

<table>
@foreach(var row in nilstock)
{
    <tr>
        <td>@row.STOCKCODE</td>
        <td>@row.TOTALSTOCK</td>
    </tr>
}
</table>

@foreach(nilstock中的var n)
{
@n。STOCKCODE@n.TOTALSTOCK
}

您需要将查询从单个值更改为返回整个数据集,然后像Stefan的回答一样迭代这些项。整个代码块应该如下所示:

<table>
    @foreach(var n in nilstock)
    {
        <tr><td>@n.STOCKCODE</td><td>@n.TOTALSTOCK</td></tr>
    }
<table>
@{
    // Open database connection etc
    var nilstock = db.Query("select STOCKCODE, TOTALSTOCK from dbo.STOCK_ITEMS where STOCK_CLASSIFICATION in(170,190,200) and TOTALSTOCK <1 order by STOCKCODE");
}

<table>
@foreach(var row in nilstock)
{
    <tr>
        <td>@row.STOCKCODE</td>
        <td>@row.TOTALSTOCK</td>
    </tr>
}
</table>
@{
//开放数据库连接等

var nilstock=db.Query(“从dbo.STOCK\u项目中选择STOCKCODE,TOTALSTOCK,其中STOCK\u分类在(170190200)中)TOTALSTOCK我不熟悉这个堆栈,但在我看来,
QueryValue
会返回一个值,而不是完整的结果集。好的,我应该只进行查询吗?试试看它是怎么做的。不。仍然会给我一个结果:结果中的第一个零件号。哇,正确的响应:现在运行错误:System.Collections、 ObjectModel.ReadOnlyCollection`1[System.Object]嗯……现在它崩溃了,原因是:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“char”没有包含“STOCKCODE”的定义。
我相信你的思路是正确的,因为它正在尝试这样做,只是在某个地方似乎有一些声明错误……是的!还要感谢@stefan的帮助help@jraede我们有一个回答-你离得不远了!@Bevan是的,这是你需要的两个答案!作为参考,你的数据库命令方法是
db.Execute()
对于只返回受影响行数(插入等)的对象,
db.QueryValue()
对于从单行返回单个值的查询,
db.QuerySingle()
返回一行,与此答案一样,
db.Query()
可以返回任意数量的字段和任意数量的行。谢谢!很好的后续操作。我会存储这些,因为我很快就会需要它们!