在插入到Sql Server表时,将VB.Net中的值转换为位

时间:2014-02-14 19:45:05

标签: sql sql-server vb.net tsql

对于下面VB.Net代码中的X,我需要传入一个位值。什么是相当于VB.Net中的一点,以使转换和插入发生在Sql Server表

parmList_chg的类型为String,因为传入的大多数值都属于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))

2 个答案:

答案 0 :(得分:0)

看看这张表: Mapping CLR Paramaters

答案 1 :(得分:0)

如果您解决了一些问题,您的代码应该可以运行(至少是您展示的部分)

  • 初始化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