定义了s1,s2两个string,想取得pd表中的pdid和pdname两个字段的值
在s1=rd("pdid").ToString这里错误,求正确写法
conn=New OledbConnection(ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_enconn"))
sql="select pic,pdname from pd Where pdid=@pdid"
cmd=New OledbCommand(sql,conn)
conn.Open()
cmd.parameters.Add("@pdid",OledbType.Integer).Value=intPdId
rd=cmd.ExecuteReader()
Dim s1 As String
Dim s2 As String 
s1=rd("pdid").ToString
s2=rd("pdname")

解决方案 »

  1.   

    select pic,pdname from pd Where pdid=@pdid你又没将 pdid字段取出...怎么会有嘛
      

  2.   

    对不起,说错了,是要取pic 和 pdname
      

  3.   

    不好意思,太慌了,没说清楚,是要取pic 和pdname,数据库相关字段非空conn=New OledbConnection(ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_enconn"))
    sql="select pic,pdname from pd Where pdid=@pdid"
    cmd=New OledbCommand(sql,conn)
    conn.Open()
    cmd.parameters.Add("@pdid",OledbType.Integer).Value=intPdId
    rd=cmd.ExecuteReader()
    Dim s1 As String
    Dim s2 As String 
    s1=rd("pic").ToString
    s2=rd("pdname")
      

  4.   

    try:If rd.read() then
      s1=rd("pdid").ToString
      s2=rd("pdname")
    end if
      

  5.   

    To 7 楼兄弟,谢谢,已验证,您的方法是正确的。需要加入if语句。
      

  6.   

    主要不是if,而是触发rd.read
    只有read时,才会读记录.