【问题标题】:What's wrong in my this SQL Server 2005 query?我的这个 SQL Server 2005 查询有什么问题?
【发布时间】:2011-02-05 12:43:21
【问题描述】:
On Error Resume Next
        Dim SQLData As New System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True")
        Dim cmdSelect As New System.Data.SqlClient.SqlCommand("SELECT * FROM a1_ticket WHERE ITC =A1/1007", SQLData)
        SQLData.Open()
        Dim dtrReader As System.Data.SqlClient.SqlDataReader = cmdSelect.ExecuteReader()
        If dtrReader.HasRows Then
            While dtrReader.Read()
                Literal1.Text = ""
                Literal3.Text = "A1/1008"
                Literal4.Text = dtrReader("Travels")
                Literal5.Text = dtrReader("name")
                Literal6.Text = dtrReader("mob")
                Literal7.Text = dtrReader("fro_m")
                Literal8.Text = dtrReader("t_o")
                Literal9.Text = dtrReader("book_date")
                Literal10.Text = dtrReader("journey_date")
                Literal11.Text = dtrReader("dep_time")
                Literal12.Text = dtrReader("arr_time")
                Literal13.Text = dtrReader("bd_point")
                Literal14.Text = dtrReader("dp_point")
                Literal15.Text = dtrReader("sel_seat")
                Literal16.Text = dtrReader("seat_opt")
                Literal17.Text = dtrReader("bus_type")
                Literal18.Text = dtrReader("taxes")
                Literal19.Text = ""
                Literal20.Text = ""
                Literal21.Text = ""
            End While
        Else
        End If
        dtrReader.Close()
        SQLData.Close()

【问题讨论】:

  • 在什么情况下不起作用?不是你期望的结果?例外?
  • 您遇到什么错误? ITC 字段是什么数据类型?
  • 出于兴趣,为什么.net代码中有“On Error Resume Next”?

标签: asp.net vb.net sql-server-2005


【解决方案1】:

您的 char/varchar 值应该用单引号括起来。 " ..... = 'A1/1007' "

【讨论】:

    【解决方案2】:

    我的猜测ITC 是数据库中的一个字符串列,因此您应该在查询中的值周围加上引号:

    Dim cmdSelect As New System.Data.SqlClient.SqlCommand("SELECT * FROM a1_ticket WHERE ITC ='A1/1007'", SQLData)
    

    【讨论】:

      【解决方案3】:
      SELECT * FROM a1_ticket WHERE ITC = **A1/1007**
      

      试试看,这个……你的参数不正确。查看SqlParameters

      SELECT * FROM a1_ticket WHERE ITC = 'A1/1007'
      

      【讨论】:

      • 如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮 ({})很好地格式化和语法高亮它!
      • 嗨,马克,我确实这样做了。无论出于何种原因,Stack 似乎都没有突出显示 SQL。
      猜你喜欢
      • 2011-01-15
      • 2010-10-21
      • 1970-01-01
      • 2012-06-22
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多