mysql - 为什么我的 .net 应用程序不接受通过用户输入的 SQL 查询?

标签 mysql sql .net mariadb

我目前正在编写一个允许用户查询数据库的快速 .net 程序

我已经让它运行到可以运行硬编码的 SELECT 语句的程度,但是当我获取“sql”变量以查看文本框(用户输入)中的内容时,它会抛出一个错误。即使我将硬编码的 SQL 查询复制并粘贴到用户文本框中,也会发生这种情况

这是我的代码:

Imports MySql.Data.MySqlClient

Public Class form_queueDepth

Public dbconn As New MySqlConnection
Public sql As String
Public dbread As MySqlDataReader
Public dbcomm As MySqlCommand

Private Sub form_queueDepth_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    dbconn = New MySqlConnection("Data Source=10.232.7.41;user id=Alex;password=abc;database=alexvb")

    Try
        dbconn.Open()
        MsgBox("Succeed")
    Catch ex As Exception
        MsgBox("Unable to connect: " & ex.Message.ToString)
    End Try
End Sub

Private Sub button_ExecuteQuery_Click(sender As Object, e As EventArgs) Handles button_ExecuteQuery.Click
    sql = "SELECT * FROM depth_store WHERE ID < '10';"
    dbcomm = New MySqlCommand(sql, dbconn)
    MsgBox(sql)
    Try
        dbread = dbcomm.ExecuteReader()
        While dbread.Read
            listBox_QueryResults.Items.Add(dbread("Queue_Manager").ToString() & " | " & dbread("Queue").ToString() & " | " & dbread("DTime").ToString() & " " & dbread("QueueDepth").ToString())
        End While
        MsgBox("Success")

    Catch ex As Exception
        MsgBox("Error: " & ex.Message.ToString)
    End Try
End Sub
End Class

所以上面的代码可以工作,但是当我将“sql =”SELECT * FROM depth_store WHERE ID <'10';”更改为“sql =(textBox_UserQuery).ToString”然后复制并粘贴查询时,它就会出错错误说明:

http://i66.tinypic.com/2pqnxmo.png

任何建议/帮助将不胜感激 - 如果您需要任何其他信息,请告诉我

最佳答案

textBox_UserQuery 是 TextBox 实例的名称。
ToString() 方法返回类的名称

IE:System.Windows.Forms.TextBox

如果您想使用 TextBox 的内容,您需要 Text 属性。

sql = textBox_UserQuery.Text

话虽如此,我希望这个“程序”仅供您内部使用。否则,您将放弃销毁整个数据库的能力。 (从……删除)

关于mysql - 为什么我的 .net 应用程序不接受通过用户输入的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495414/

相关文章:

c# - 通过字符串属性快速查找对象

c# - 捕获通用的非致命异常

.net - 多 ORM 解决方案

python - 修复 python Sqlalchemy 模型无法插入 mysql 语法错误

Mysql查询优化外键

sql - Postgres 将超过 100 个参数传递给 CONCAT 函数

mysql - 显示两个子查询之间的差异作为 MySQL 查询中的附加列

php - 如何启用 php 扩展和数据库支持?

php - mysql从任何距离参数返回相同的结果

php - sql中如何找出重复次数最多的值