【问题标题】:Conversion of a value in VB.Net into bit upon insertion to Sql Server table在插入 Sql Server 表时将 VB.Net 中的值转换为位
【发布时间】:2023-03-24 08:40:01
【问题描述】:

对于下面 VB.Net 代码中的X,我需要传入一个位值。在 VB.Net 中相当于在 Sql Server 表中进行转换和插入的位

parmList_chgString 类型,因为传入的大多数值都是 string 数据类型

Dim parmList_chg as List(Of String)

parmList_chg.Add(X) 'But value of true


strSQL2.Append("INSERT INTO tablename ")
        strSQL2.Append("(bitColumn")")
        strSQL2.Append(String.Format("VALUES ( Convert (bit, '{0}') )", parmList_chg.ToArray))

【问题讨论】:

  • 但是 X 的值是多少?

标签: sql sql-server vb.net tsql


【解决方案1】:

看看这张表: Mapping CLR Paramaters

【讨论】:

    【解决方案2】:

    如果你解决了几个问题,你的代码应该可以工作(至少是你展示的部分)

    • 初始化List(Of String)
    • 去掉(bitcolumn")后面的双引号

    当然 X 的值应该是:“True”、“False”、“0”或作为字符串传递的正数值 (小写版本也可以)

    Dim X = "True"
    Dim parmList_chg as List(Of String) = New List(Of String)()
    parmList_chg.Add(X) 'But value of true
    strSQL2.Append("INSERT INTO tablename ")
    strSQL2.Append("(bitColumn)")
                             ^^^ quote removed ^^^
    
    strSQL2.Append(String.Format("VALUES ( Convert (bit, '{0}') )", parmList_chg.ToArray))
    

    得到的字符串是

    INSERT INTO tablename (bitColumn)VALUES ( Convert (bit, 'True') )
    

    这是一个有效的 SQL

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2013-08-03
      • 1970-01-01
      • 2014-08-15
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多