亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在VB中的SQL命令中使用參數“ @”

如何在VB中的SQL命令中使用參數“ @”

翻閱古今 2019-12-06 09:33:00
我有這段代碼可以從VB中的文本框中的數據更新SQL數據庫。我需要使用參數,以防文本包含tic標記,'或引號,“等。這是我所擁有的: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()這是我la腳的嘗試,目的是根據我在網絡上看到的內容來設置參數,對此我不太了解。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()你怎么做到這一點?原因是在運行代碼時文本框中是否有'標記,它會崩潰。
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

這里有許多改進:


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


查看完整回答
反對 回復 2019-12-06
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

不喜歡AddWithValue()方法。有時它會猜測參數類型錯誤(即:日期,varchar與nvarchar),有時,當這種情況發生時,查詢將不再與其應有的索引對齊,有時會導致嚴重的性能問題。

查看完整回答
反對 回復 2019-12-06
  • 3 回答
  • 0 關注
  • 891 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號