gpt4 book ai didi

vb.net - 在 VB.net 中转义字符串(添加斜杠)?

转载 作者:行者123 更新时间:2023-12-04 02:44:44 26 4
gpt4 key购买 nike

非常简单的问题(令人惊讶的是我在任何地方都找不到类似的问题):如何在 VB.net 中转义表单数据?我有这样的各种线路:

Dim query As String = "exec sp_Message_insert @clientid='" + pClientId + "', @message='" + pMessage + "', @takenby='" + pUserId + "', @recipients='" + pRecipients + "'"

如果我在消息中使用撇号,那么这当然会搞砸查询。我已经查看了字符串上的智能感知功能,但没有看到任何合适的...

最佳答案

你说的逃跑到底是什么意思? VB.NET 没有像 c 风格语言那样的“转义”。

现在,如果您想确保 pClientId 变量中没有单引号,那么您有两个选择:

选项 1(不推荐用于这种情况):做一个简单的替换。 IE。

pClientId = String.Replace(pClientId, "'","''")

但是,如前所述,我不会对似乎是 SQL 命令的内容执行此操作。我会做的是
选项 2:在 sql 命令期间使用数据参数将参数传递给您的数据库

例如:
Dim cn As New SqlConnection(connectionString)
Dim cmd As New SqlCommand
cn.Open
cmd.Connection=cn
cmd.CommandType=CommandType.StoredProcedure
cmd.CommandText= "sp_Message_insert"
cmd.Parameters.add(New SqlParameter("@clientid", pClientId)
cmd.Parameters.add(New SqlParameter("@message", pMessage)
cmd.Parameters.add(New SqlParameter("@takenby", pUserId)
cmd.Parameters.add(New SqlParameter("@recipients", pRecipients)
cmd.ExecuteNonQuery

关于vb.net - 在 VB.net 中转义字符串(添加斜杠)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1261220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com