VB数据库查询结果乱码的问题

ixibin 2019-11-19 06:55:54
有一句查询语句如下:
SELECT id FROM (SELECT 1 id UNION SELECT 2 UNION SELECT 3) t FOR XML PATH ('')

在SQL Server Management Studio 中查询的结果是
<id>1</id><id>2</id><id>3</id>



但是在VB中查询的结果是乱码,代码和结果如下:

Option Explicit

Private Sub Command1_Click()
Dim ct As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim s As String

On Error GoTo eh
s = "SELECT id FROM (SELECT 1 id UNION SELECT 2 UNION SELECT 3) t FOR XML PATH ('')"
ct.Open "Persist Security Info=True;Provider=SQLOLEDB.1;User ID=sa;Password=pwd;Data Source=server;Initial Catalog=test"
Set rs = ct.Execute(s)
Debug.Print rs.Fields(0).Name
Debug.Print rs.Fields(0).Value
Set rs = Nothing
Set ct = Nothing
Exit Sub

eh:
MsgBox Err.Description, , Err.Number
End Sub



请问是什么原因导致出现乱码?是字符集的原因吗?如何解决呢?谢谢!!
...全文
208 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ixibin 2019-11-27
  • 打赏
  • 举报
回复
好的,谢谢楼上的朋友
现在还是人类 2019-11-24
  • 打赏
  • 举报
回复
看看我的这几个博客了解一下转换过程(里面都有UTF-8的转换过程): https://blog.csdn.net/supermanking/article/details/5989227 https://blog.csdn.net/supermanking/article/details/3082860
ixibin 2019-11-23
  • 打赏
  • 举报
回复
引用 1 楼 脆皮大雪糕 的回复:
应该是字符集的问题,目测是返回的是UTF8 一种办法是换数据库的返回字符集,还有就是自己做UTF8转换。
谢谢!另外我还想请问一下怎么换数据库的返回字符集呢?
脆皮大雪糕 2019-11-19
  • 打赏
  • 举报
回复
应该是字符集的问题,目测是返回的是UTF8 一种办法是换数据库的返回字符集,还有就是自己做UTF8转换。
软件名称:数据库助手 版 本:2.0 编程语言:Visual Studio .NET C# 调试环境:WINDOWS 2000 server 运行环境:需要 Microsoft .NET Framework1.1(dotnetfx.exe 23M) 支持 版 权:完全免费 使用说明: 此程序提供给经常使用SQL server,Oracle 的程序开发人员.(支持SQL Server 6.5 7.0 2000;Oracle 9i) 快速浏览数据,更改数据。提取字段名,表名 制作初始化脚本,查看存储过程。快速浏览数据。 可以省去敲数据表名及字段名的麻烦。对于使用SQl server,Oracle 的人员非常方便。 (如需要VB版,可与我联系,VB版2003年后不再升级) 1.登陆页面添写要连接的数据库参数。确定后进入第二个页面。 2.点击数据库名,显示相应数据库的数据表名。点击数据表名,显示数据表的 字段信息及数据记录(为了显示速度的要求,只显示前500行,如需要全部记录 请点击“执行”按钮)。 3.制作Insert 脚本,省去程序开发人员手工写脚本。 4.所有sql语句都可在sql框中执行。 5.单击字段名,会出现在sql 框中,并会替代框中选中部分,方便输录。 6.数据记录可以增加,修改,删除。 7.增加查看和修改存储过程功能。(2003.03.03) 8.修改数据库名与密码的加密方法(2003.06.02) 9.增加SQL Server 2000字段描述(2003-10-10) 10.修改FramkWork1.1下DataGrid不支持滚轮键的bug(2003-10-12) 11.更改菜单及支持6.5的数据库(2003.12) 12.更新datetime字段只能显示日期的bug(2004.3.2) 13.更新错误提示方式。(2004.3.10) 14.更改启动时透明度算法可能会出错的问题。(2004.08.19感谢zhiming99) 15.增加对oracle数据库的支持(测试版本9.2)(2004.12) 16.导出数据方式的更改,可一次导出所有表。(2004.12) 17.标记主键(2004.12) 18.增加显示数据库,数据表的数量.(2005.01) 19.修改数据表过多时出现的乱码问题(2005.02
第1章 开发环境 1.1 Visual Basic的安装 0001 安装合适的Visual Basic版本 0002 如何解决Visual Basic安装后保存工程时出现中文乱码 0003 如何让Visual Basic开发环境支持鼠标滚轮 1.2 开发环境的设置 0004 如何为Visual Basic项目设置工程属性 0005 在开发环境中如何设置窗体的网络 0006 如何定制有效的工具栏 0007 如何定制编程环境 0008 如何合理布局窗体 0009 如何锁定窗体上的控件 0010 如何调整与对齐控件 0011 如何利用代码对齐控件 0012 为何弹出“add this project to SourceSafe?” 0013 如何在工程中查找文本 1.3 控件注册和对象引用 0014 如何添加 ActiveX控件 0015 如何引用对象 0016 如何添加第三方控件 0017 如何加载和使用API浏览器 0018 定制我的模板库 1.4 其他方面的技巧 0019 如何规范代码缩进格式 0020 如何使用上下文相关帮助 0021 如何使用最近的工程文件 0022 Visual Basic内置的内码转换功能 0023 复制背景技巧 0024 如何快速清除属性值 第2章 语言基础 …… 第3章 程序算法 第4章 数组与指针 第5章 函数和过程 第6章 字符及字符串处理技术 第7章 日期和时间 第8章 数据处理技术 第9章 窗体与界面设计 第10章 系统对象及其应用 第11章 控件技术 第12章 键盘与鼠标 第13章 文件和文件管理 第14章 磁盘管理 第15章 图形图像技术 第16章 动画与多媒体 第17章 API函数 第18章 注册表 第19章 Windows 应用 第20章 应用程序控制 第21章 数据库技术 第22章 SQL查询相关技术 第23章 打印与报表技术 第24章 图表技术 第25章 网络开发技术 第26章 Web编程 第27章 安全技术 第28章 程序调试与错误处理 第29章 程序打包与安装 第30章 自定义控件和第三方控件

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧