开发环境:VB.NET中的ASP.NET应用程序Dim mycmd As SqlCommand = New SqlCommand("select role from T_S_LPNS_operator where username='" & TextBox1.Text & "' AND password='" & Textbox2.Text & "'", myConnection)
Dim Privil = CType(mycmd.ExecuteScalar(), Integer)Dim Privil As Integer = CType(cmd.ExecuteScalar(), Integer)错误提示:输入字符串的格式不正确。帮忙校正!!!

解决方案 »

  1.   

    先保证ExecuteScalar()返回的值能被转化为Integer,错误原因可能是这里
      

  2.   

    dim tmp = cmd.ExecuteScalar()'返回第一行第一列的值
    跟踪一下tmp里面是什么
      

  3.   

    Dim Privil As Integer = CType(cmd.ExecuteNonQuery(), Integer)
    ExecuteScalar()返回结果行的第一行引用
    ExecuteNonQuery()返回受影响的行数
      

  4.   

    Dim Privil As Integer = Convert.ToInt32(cmd.ExecuteScalar())不知道VB是不是这么写的
      

  5.   

    楼上的,错误提示一样,cmp里面是Nothing
      

  6.   

    没东西就不能转成Integer
    确定T_S_LPNS_operator表里的role字段非空
      

  7.   

    确定T_S_LPNS_operator表里的role字段非空
      

  8.   

    myConnection.open
    Dim Privil = CType(mycmd.ExecuteScalar(), Integer)
    myConnection.close
    ?
    我也不太清楚了,不过sql语句应该没有错。
      

  9.   

    role如果是空的,或者包含有非数字字符,
    转换就会出错的。