【问题标题】:I am gettin a MySQL syntax error in select query on visual studio我在 Visual Studio 上的选择查询中遇到 MySQL 语法错误
【发布时间】:2012-08-04 13:40:12
【问题描述】:

这是我的代码,我认为我的查询是错误的。

首先dataTimePicker1 信息作为字符串保存到数据库中,所以我尝试将dateTimePicker1 转换为.text

private void consultarVta()
        {
            cn.Open();

            string sql = "SELECT * FROM ventas WHERE fecha ="+dateTimePicker1.Text;
            MySqlDataAdapter daVentas = new MySqlDataAdapter(sql, cn);
            DataSet dsVentas = new DataSet();
            daVentas.Fill(dsVentas, "ventas");
            dGvVentas.DataSource = dsVentas;
            dGvVentas.DataMember = "ventas";

            cn.Close();
        }

【问题讨论】:

  • 当您不发布您执行的整个完整的 sql 字符串时,很难知道您的 SQL 出了什么问题。请问修改后的最终sql字符串是什么?
  • 我假设 dateTimePicker1 值没有被引号包围。尝试在值周围加上单引号并试一试。猜猜你需要通过串联来做到这一点。
  • @Jebego 那是我的 sql 字符串和 Brandon Jernigan 我试过单引号,但我仍然遇到同样的错误。顺便说一句,我没有连接问题,VS 说这是语法错误。谢谢你们:)
  • @BrandonJernigan 当我使用单引号时,我没有收到任何错误,但它也没有向我显示信息。谢谢!
  • 您的完整 SQL 字符串是什么? "SELECT * FROM ventas WHERE fecha ="+dateTimePicker1.Text 未满。那里仍然有一个变量。我正在寻找的只是添加和修改后的最终完整字符串。

标签: mysql syntax-error


【解决方案1】:

【讨论】:

  • +1 .. 虽然真的是“评论”,但我觉得(链接帖子中的答案)也是“解决方案”。考虑扩展不同输入如何导致语法错误(或漏洞)等。
【解决方案2】:

这正是我所需要的,感谢 Brandond Jerningan,该链接真正解决了我的问题,我所要做的就是:

string cmdText = "Select * from " + searchTable + " WHERE Name = '" +   searchValue + "'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2018-12-04
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多