以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何获取sql数据库是字符型还是备注型 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186458) |
-- 作者:lihe60 -- 发布时间:2023/5/5 9:23:00 -- 如何获取sql数据库是字符型还是备注型 如题 |
-- 作者:有点蓝 -- 发布时间:2023/5/5 9:46:00 -- 字符长度小于等于255就是字符型 |
-- 作者:lihe60 -- 发布时间:2023/5/5 10:03:00 -- 如果是备注型,就会有错误提示。无法进行了。 |
-- 作者:有点蓝 -- 发布时间:2023/5/5 10:03:00 -- 什么错误? |
-- 作者:lihe60 -- 发布时间:2023/5/5 10:09:00 -- 这是提示 "数据类型 ntext 和 varchar 在 equal to 运算符中不兼容。" Dim name1 As String = "用友175" Dim cmd As New SQLCommand cmd.ConnectionName = name1 Dim lst As List(Of String) lst = Connections(name1).GetTableNames For Each nm As String In lst cmd.com/mandtext = "sel/ect * from " & nm & " where 1=2" For Each dc As DataCol In cmd.ExecuteReader().DataCols If dc.isstring Then \' Output.Show(nm & " " & dc.name) cmd.comma/ndtext = "sel/ect count(*) from " & nm & " where " & dc.name & "=\'2ef92ea1-0cbf-4661-b6d5-a797011061ef\'" If cmd.ExecuteScalar() > 0 Then Output.Show(nm & " " & dc.name) End If End If Next \' Exit For Next |
-- 作者:有点蓝 -- 发布时间:2023/5/5 10:12:00 -- 到后台数据库把备注列类型ntext 改为nvarchar(max) |
-- 作者:lihe60 -- 发布时间:2023/5/5 10:20:00 -- 这个列类型是别人的数据库,不能改。还有其他办法吗? |
-- 作者:有点蓝 -- 发布时间:2023/5/5 10:28:00 -- ntext 类型的列不能直接用到查询条件里,不能改就要做下转换,不过查询效率就低很多了 |