【问题标题】:How to use not operator in SQL using vb.net如何使用 vb.net 在 SQL 中使用 not 运算符
【发布时间】:2017-01-28 08:18:49
【问题描述】:

我现在的问题是关于如何在 SQL 中使用“不等于”。这是我的代码:

Dim cmd As New SqlClient.SqlCommand
    With cmd
        .CommandText = "SELECT [Position],[Partylist],[Fullname],[Lvl],[Votes] FROM tbl_cands WHERE [Department] = '" & elem & "'AND [PositionID]=" & pres & ""
        .CommandType = CommandType.Text
        .CommandTimeout = 30
        .Connection = conn
    End With
    Dim dt As New DataTable
    dt.Load(cmd.ExecuteReader)

我不需要显示不等于 None 的全名。

【问题讨论】:

  • 这段代码看起来可能会让您面临 SQL 注入黑客攻击。考虑改用参数化技术。
  • 您的意思是在查询中添加AND [Fullname] <> 'None' 吗?
  • 是的,@Szymon 正是
  • 我已经把它作为答案发布了

标签: sql vb.net-2010


【解决方案1】:

如果您正在检查 NULL,那么代码是:

AND [Fullname] IS NOT NULL

如果要检查该值是否不是零长度字符串:

AND [Fullname] <> ''

如果您想检查它是否不是表示没有数据的特定值:

AND [Fullname] <> 'None'

但无论如何,我强烈建议您阅读以下链接并了解如何为您的 SqlCommand 对象使用参数化。如果你没有正确地转义字符串,你就会让自己容易受到注入黑客的攻击:

How to use parameters "@" in an SQL command in VB

【讨论】:

    【解决方案2】:

    您所要做的就是将其添加到您的查询中:

    AND [Fullname] <> 'None'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-03
      • 2021-09-30
      • 2017-10-28
      • 1970-01-01
      相关资源
      最近更新 更多