[SQL] VB에서 SQL 명령에 매개 변수를 "@"를 사용하는 방법
SQLVB에서 SQL 명령에 매개 변수를 "@"를 사용하는 방법
나는 VB에서, 텍스트 상자에 데이터에서 내 SQL 데이터베이스를 업데이트하기 위해이 코드가 있습니다. 텍스트가 틱 마크 '또는 견적을 포함하는 경우에 나는 여기에 내가 무엇을 가지고 등, "파라미터를 사용해야합니다
dbConn = New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP")
dbConn.Open()
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = '" & TicBoxText.Text & _
"'WHERE Number = 1", dbConn)
MyDataReader = MyCommand.ExecuteReader()
MyDataReader.Close()
dbConn.Close()
그리고 이것은 내가 그 아니라 모든 이해하지 않는 웹에 본 것을에서 매개 변수를 설정하는 내 절름발이의 시도이다.
dbConn = New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP")
dbConn.Open()
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = @'" & TicBoxText.Text & _
"'WHERE Number = 1", dbConn)
MyDataReader = MyCommand.ExecuteReader()
MyDataReader.Close()
dbConn.Close()
당신이 어떻게해야합니까? 나는이 코드를 실행하면 텍스트 상자에있는 '표시가있는 경우 원인, 그것은 충돌합니다.
해결법
-
==============================
1.당신은 바비 테이블을 피하는 옳은 길을하지만, @ 매개 변수에 대한 이해는 불완전하다.
당신은 바비 테이블을 피하는 옳은 길을하지만, @ 매개 변수에 대한 이해는 불완전하다.
명명 된 매개 변수는 프로그래밍 언어의 변수처럼 행동 : 첫째, 당신은 당신의 SQL 명령에서 사용하고 다음과 같이 당신의 VB.NET 또는 C # 프로그램에서 자신의 값을 제공 :
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = @TicBoxText WHERE Number = 1", dbConn) MyCommand.Parameters.AddWithValue("@TicBoxText", TicBoxText.Text)
명령의 텍스트가되었다 방법을 참고 자기 - 포함되지 : 사용자가 자신의 명령을 삽입하여 SQL을 깰 수 있도록 더 이상 텍스트 상자에서 텍스트의 값에 따라 달라집니다. @TicBoxText 명령의 텍스트의 값을 의미 변수의 이름이되었다; AddWithValue에 대한 호출 값을 제공합니다. 그 후, 당신의가 ExecuteReader은 갈 준비가되어 있습니다.
-
==============================
2.여기 개선은 여러 가지가있을 수 있습니다 :
여기 개선은 여러 가지가있을 수 있습니다 :
Using dbConn As New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP"), _ MyCommand As SqlCommand("UPDATE SeansMessage SET Message = @Message WHERE Number = 1", dbConn) 'Make sure to use your exact DbType (ie: VarChar vs NVarChar) and size MyCommand.Parameters.Add("@Message", SqlDbType.VarChar).Value = TicBoxText.Text dbConn.Open() MyCommand.ExecuteNonQuery() ' don't open a data reader: just use ExecuteNonQuery End Using 'Using block will close the connection for you
from https://stackoverflow.com/questions/11139791/how-to-use-parameters-in-an-sql-command-in-vb by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SparkSQL 지원 하위 쿼리합니까? (0) | 2020.03.30 |
---|---|
[SQL] MS 액세스에서 GROUP_CONCAT 기능이있다? (0) | 2020.03.30 |
[SQL] 어떻게 Access에서 UNPIVOT을 시뮬레이션? (0) | 2020.03.30 |
[SQL] 값의 그룹 별 사용자 정의 SERIAL / 자동 증가 (0) | 2020.03.30 |
[SQL] PostgreSQL의 선택 쿼리의 열 최대 번호는 무엇입니까 (0) | 2020.03.30 |