【问题标题】:I dont know where the error is in this code我不知道这段代码的错误在哪里
【发布时间】:2015-07-13 00:11:03
【问题描述】:

试试

MySqlConn.Open()

        Dim Query = "Select * From venuesdb.cost where EventDate  >= ('" & DateTimePicker1.Text & "') AND =< ('" & DateTimePicker2.Text & "')"
        Command = New MySqlCommand(Query, MySqlConn)
        SQLDataAdapter.SelectCommand = Command
        SQLDataAdapter.Fill(DatabaseDatSet)
        Bindsource.DataSource = DatabaseDatSet
        DataGridView1.DataSource = Bindsource
        SQLDataAdapter.Update(DatabaseDatSet)
        MySqlConn.Close()

    Catch ex As Exception
        MessageBox.Show(ex.Message)

    End Try
    MySqlConn.Dispose()

我不断收到错误消息,提示此处存在 SQL 错误 '>= ('" & DateTimePicker2 & " ')'

【问题讨论】:

  • 您的查询语法不正确。为什么将WHERE 字段放在括号中?另外,我相信您需要在AND之后再次指定字段名称(EventDate)。
  • 实际消息是什么?它可能不喜欢与数学运算符一起使用的文本

标签: mysql sql vb.net visual-studio-2010 visual-studio


【解决方案1】:

您的语法不正确,您可以使用between 而不使用&lt;=&gt;=(注意运算符中的符号序列):

Dim Query = "select *
             from venuesdb.cost
             where EventDate  between '" & DateTimePicker1.Text & "' AND '" & DateTimePicker2.Text & "'"

或每次指定条件时指定字段:

Dim Query = "select *
             from venuesdb.cost
             where EventDate  >= '" & DateTimePicker1.Text & "' AND EventDate <= '" & DateTimePicker2.Text & "'"

【讨论】:

    【解决方案2】:

    您在查询中错过了EventDate。将您的代码更改为:

    Dim Query = "Select * From venuesdb.cost where EventDate  >= ('" & DateTimePicker1.Text & "') AND EventDate =< ('" & DateTimePicker2.Text & "')"
    

    此外,您应该在查询中使用参数以避免 SQL 注入攻击。您可以在this SO question 中阅读更多相关信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      相关资源
      最近更新 更多