【问题标题】:variable to a sql column name变量为 sql 列名
【发布时间】:2013-02-03 19:55:21
【问题描述】:

我有,

var car = db.QuerySingle("SELECT * FROM Stock WHERE Id = @0", carId);

“Stock”表具有图像数据列 ImgF1、ImgF2、...、ImgF12。 现在我想检索这些图像,如下所示

<ul>
@for(int i = 1; i < 12; i++){
    var imageName = "ImgF" + i;
    if(car.@imageName != null){
        <li>
            <img class="small_image" alt="image" src="@Href("~/Cars/XSThumbnail",carId, new{index = i})">
        </li>
    }else{

    }
}

问题是 car.@imageName 或 car.imageName 不起作用,因为 imageName 不是列名,而只是列名的变量。


所以请,如果您有任何想法,我将不胜感激!!

【问题讨论】:

  • 感谢您的提示,但我想使用相同的变量“imageName”检索 11 列,并在处理图像之前确认它们是否不为空。

标签: c# sql-server razor asp.net-webpages


【解决方案1】:

在后台,QuerySingle 方法返回一个 DynamicRecord 实例,you can index 带有列名:

@for(int i = 1; i < 12; i++){
    var imageName = "ImgF" + i;
    if(car[imageName] != null){
        <li>
            <img class="small_image" alt="image" 
                 src="@Href("~/Cars/XSThumbnail",carId, new{index = i})">
        </li>
    }else{

    }
}

【讨论】:

    【解决方案2】:

    尝试改变这个:

    if(car.@imageName != null){
    

    if(car[imageName] != null){
    

    祝你好运。

    【讨论】:

    • 没问题,很高兴我们能提供帮助。如果其中一个答案对您有所帮助,请将其标记为已接受 :) 祝您好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多