none
SqlDataReader中如何用字符串变量来表示字段名,进而读取相应的值! RRS feed

  • 问题

  • 有如下代码:

    .........

        SqlDataReader mydr = db.GetDr(sqlstr);

        while (mydr.Read())
        {
            string listring = " <li> <div class='a_List'> <div class='a_ListTit'> <span class='more'>" + mydr[timefield].ToString() + " </span>· <a href='"+urlstring.ToString()+"?id=" + mydr[idfield] + "' class='F14'>" + SubStr(mydr[titlefield].ToString(), stringlen) + " </a> </div> </div> </li>";
            getstring = getstring + listring;
        }
        getstring = getstring + " </ul> </div>";

    ...........

        就是这里的 mydr[timefield],本身按照通常应该是,mydr[“field”]这样的方式来取值,可是,我这里的字段是需要用变量来表示的,现在程序运行到 mydr[timefield] 这里就报错,请问各位,这里应该怎么弄啊???
        请各位高手帮忙啊!!!!!!万分感激!
    2009年4月8日 2:17

答案

全部回复

  • String timefield="field";
    mydr[titlefield]应该可以的
    孟宪会
    2009年4月8日 2:22
    版主
  • 可是总是在这里报错啊!老大有QQ么,联系一下!
    2009年4月8日 2:28
  • 报告什么错误?贴出来。确保你取出来的数据有field这个字段
    孟宪会
    2009年4月8日 13:50
    版主
  • 怎么把界面层的逻辑写到数据访问层代码来了?
    用ADO.Net的强类型数据集或者LINQ吧。手动输字段名很容易出错的。

    MSMVP VC++
    2009年4月8日 19:56
    版主
  • 怎么把界面层的逻辑写到数据访问层代码来了?
    用ADO.Net的强类型数据集或者LINQ吧。手动输字段名很容易出错的。

    MSMVP VC++
    这一段代码主要问题出在  string 的连接上吧


    LZ
    每个字段叫什么名字  只要看  mydr.GetName[i]  就知道了   明显是你自己打字错误  可能是大小写?
    工作突然有点忙 嘿嘿
    2009年4月10日 15:19
  • 怎么把界面层的逻辑写到数据访问层代码来了?
    用ADO.Net的强类型数据集或者LINQ吧。手动输字段名很容易出错的。

    MSMVP VC++

    听说过您的这种方法,但是您能讲的详细点吗?很想学习一下。
    做最好的自己
    2009年4月14日 1:43