一个简单的变量查询问题,代码如下:Dim mycon As New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;" _
             & "data source=" _
             & Server.MapPath("/xx/p.mdb;"))
        Dim mydataadapter As New OleDbDataAdapter
        Dim mydataset As New DataSet
        Dim s1, s2, s3, s4 As String
        s1 = TextBox1.Text
        s2 = DropDownList1.SelectedItem.ToString
        s3 = DropDownList2.SelectedItem.ToString
        s4 = s2 + s3mydataadapter.SelectCommand = New OleDbCommand("select *  from " & s4 & " where 学生学号='" & s1 & "'")
mydataadapter.SelectCommand.Connection = mycon
        mycon.Open()
mydataadapter.Fill(mydataset, "" & s4 & "")   '报错这一行:标准表达式中数据类型不匹配。
        DataGrid1.DataSource = mydataset        DataGrid1.DataMember = "" & s4 & ""
        DataGrid1.DataBind()        mycon.Close()

解决方案 »

  1.   

    "" & s4 & ""把上面的"" &    & ""都去了
      

  2.   

    select * from '"+s4+"' where 学好='"+s1+"'
      

  3.   

    select * from '"+s4+"' where 学好="+s1
      

  4.   

    把DropDownList1.SelectedItem.ToString-》DropDownList1.SelectedItem.Text
    并且把"" &    & ""都去了
      

  5.   

    可以用response.write輸出看看,就知道了
      

  6.   

    用了try
    ...
     Catch ex As Exception
             Response.Write(ex.Message)
            End Try
    还是报一样的错。
      

  7.   

    Response.Write(s4)  ‘怎么报错说s4没有声明??
      

  8.   

    源文件:
    http://tendotnet.91i.net/p.rar
      

  9.   

    Dim s1, s2, s3, s4 As String
    不是声明了的吗?