.net 응용 프로그램이 사용자 입력을 통해 SQL 쿼리를 수락하지 않는 이유는 무엇입니까?
현재 사용자가 데이터베이스를 쿼리할 수 있는 빠른 .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: 시스템.윈도우.Forms.TextBox.
텍스트 상자의 내용을 사용하려면 텍스트 속성이 필요합니다.
sql = textBox_UserQuery.Text
그렇긴 하지만, 이 '프로그램'이 오직 당신의 내부용이기를 바랍니다.그렇지 않으면 전체 데이터베이스를 삭제할 수 있는 기능을 제공하는 것입니다. (삭제 위치...)
언급URL : https://stackoverflow.com/questions/41495414/why-wont-my-net-application-accept-the-sql-query-via-user-input
'programing' 카테고리의 다른 글
APN Device Token은 각 앱마다 고유합니까? (0) | 2023.08.10 |
---|---|
Angular 9 + CLI(TypeScript) - .spec.ts 테스트 파일 생성을 중지하는 방법 (0) | 2023.08.10 |
iPhone 브라우저암호 첫 글자 필드에 대해 대문자로 기본 설정 (0) | 2023.08.10 |
기본 단순 Asp.net + jQuery + JSON 예제 (0) | 2023.08.10 |
JavaScript: 매 분마다 실행할 코드 가져오기 (0) | 2023.08.10 |