pid=' " & did  -----------------------------'

解决方案 »

  1.   

    哦,是不是这样。
    加一个判断:
    If e.Item.ItemIndex >= 0 Then
     i = e.Item.ItemIndex
     ...
    End If
      

  2.   

    在此did = ds_nav.Tables("menu").Rows(i)(1)
    did 是一个object类型 我不知道vb.net是怎么写tostring方法的
    在c#是
    sel_smenu.CommandText = "select title,pid,id from sys_menu
                                      where pid = " + did.ToString();
    vb的写法你自己改一下吧
      

  3.   

    补充:如果pid字段是vchar类型 那么sql语句要这样写
    sel_smenu.CommandText = "select title,pid,id from sys_menu
                             where pid = '" + did.ToString() + "'";
      

  4.   

    实际上,在ItemDataBound中是一行一行依次绑定的,依次是:Header -> Item ... Item -> Footer -> Pager
    当为Header,Footer或者Pager的时候e.Item.ItemIndex的值为-1
    ds_nav.Tables("menu").Rows(i)(1)的值当然就是null,后面当然就会报错了。
      

  5.   

    to nohbday(翔) :
    did 在值前已经定义为一个Integer类型,应该没有你说的问题。to icyer() :
    ds_nav.tables("menu").rows(i)(1) 的值已经取出来了,问题不在这儿。问题好像就在
    sel_smenu.CommandText = "select title,pid,id from sys_menu where pid = " & did  上,写一句 str = "select title,pid,id from sys_menu where pid = " & did,并且将其response.write出来,没有问题。只是一旦使用sel_smenu.commandtext 就会出错,大家帮忙在看一下好吗?谢谢了,很着急!
      

  6.   

    你为什么不把select title,pid,id from sys_menu where pid = " & did转到Sqlserver的查询分析器试一下呢???
      

  7.   

    你为什么不把select title,pid,id from sys_menu where pid = " & did
    放到sqlserver的查询分析器试一下呢?
      

  8.   

    没有问题啦,我已经把值取出来了,这不是sql的问题,datalist真的可以绑定datagrid吗?哪里有相关的例子啊?我实在弄不出来了