sql - 为数据表分配 TVP 值
问题描述
在承受很大压力后,我遇到了一个问题,缩小到将字符串分配给数据表(单元格?)
Dim dc As New DataColumn("Col1")
dc.DataType = System.Type.GetType("System.String")
ParameterTable.Columns.Add(dc)
For i = 0 To whereInValues.Count - 1
r = ParameterTable.NewRow
r.Item("Col1") = whereInValues(i).ToString
ParameterTable.Rows.Add(r)
Next
这是相关代码的一小段。这是一个遍历 whereInValues List(Of String) 的循环,其中包含 SQL 语句的 IN() 值的字符串。
ParameterTable 是我的数据表
这分配给参数的 .value 属性,该属性设置为结构化。
基本上,当我使用 List 的 .ToString 方法设置数据表的值时,它在调试器中显示良好,但不会从数据库返回任何结果。当我直接设置值时:
r.Item(column) = "Barratt Homes"
它返回正确的结果。我尝试在表达式周围包裹一个 CStr() ,但没有效果。
以这种方式分配数据表值有什么区别?.ToString 是否与 System.String 相同?
解决方案
对不起,我找到了我的问题的答案。
我的代码自动用 ' 字符包装 List(Of String) 的字符串。使用参数时,您显然不需要它,因为它构成您正在搜索的字符串的一部分。因此,当我手动分配字符串时,那里没有这些字符。
愚蠢的错误...
推荐阅读
- javascript - 如何处理钩子中的嵌套元素?
- javascript - Nodejs alpine Docker puppeteer 无法启动
- grafana - 使用 Cloudwatch 数据源在 Grafana 仪表板中创建警报
- zapier - 如何将 RoamResearch 连接到 Zapier?
- angular - 反应中的mat-button-toggle组使其他控件消失?
- r - RStudio 无法在 Mac 上启动
- python - 如何从数组中删除计数
- makefile - 如何从不同的makefile调用目标?
- ionic-framework - 离子框架侧菜单问题 - 反应
- flutter - 如何在没有streambuilder的情况下检查firestore快照的连接状态?