随笔 - 750  文章 - 1  评论 - 107  阅读 - 34万

[转]连接字符串

ADODB.Connection的连接字符串(ConnectionString)的生成之道(转)

  ADO是当前访问数据库的主流,但其ConnectionString往往有一大串,并且在访问不同的数据库(如Access和SQL Server),或访问方式(通过ODBC和OLE DB)不一样时,其具体参数的设置差异很大,这给连接字符串的编写增加了一定的难度。这里给大家介绍 两种生成ConnectionString的方法,以便在没有现成的资料可供参考时,写出需要的连接字符串。

  方法一,使用ADODC控件的连接字符串向导生成连接字符串。

  用VB新建一标准EXE工程,先引用ADODC部件(选菜单[工程]\[部件...],在弹出的部件窗口中选Microsoft ADO Data Control),再将其加到Form1上,默认名为Adodc1;选中Adodc1,在其上单击右键,单击“ADODC属性”,选“使用连接字符串”, 单击“生成”按钮,接下来根据该向导一步一步输入各相关的连接信息,“确定”后,在“使用连接字符串”下面的文本框中就是我们需要的内容。
??
方法二,调用Ado连接窗口,获得连接字符串。

  用VB新建一标准EXE工程,引用Microsoft OLE DB Service Component 1.0 Type Libary和Microsoft ActiveX Data Objects 2.x Library

(具体操作与ADODC的引用类似,只是通过菜单[工程]\[引用...]选),加一个TextBox到Form1,双击Form1,进入Code编辑区,清除VB自动生成的所有代码,再输入下述代码:

  Option Explicit

  Private Sub Form_Load()
     Dim dlTemp As MSDASC.DataLinks
     Dim cnTemp As ADODB.connection
   
     Set dlTemp = New MSDASC.DataLinks
     Set cnTemp = New ADODB.connection
   
     dlTemp.PromptEdit cnTemp
     Text1.Text = cnTemp.ConnectionString

     Set dlTemp = Nothing
     Set cnTemp = Nothing
End Sub

  运行时会弹出一个与ADODC相似的生成连接字符串的向导,输入各相关数据,“确定”后在Form1的Text1中就得到我们需要的连接字符串。


二、汉字乱码问题

  笔者曾经在使用ADO向SQL Server 6.5中追加或修改数据后,发现查询出来的汉字都是乱码,最初以为是客户端的环境有问题,后来打开服务器端的数据库,发现其中的汉字也都是乱码,费了九牛 二虎之力才找到原因:在追加和修改的过程中,ADO将字符进行了自动翻译(AutoTranslate),翻译后就成了乱码(Microsoft给我们开 了一个“小小”的玩笑),解决的办法就是不让它乱翻译,具体操作如下:

  如果ADO通过OLE DB直接连接到数据库,则在Connection的ConnectionString中加入字符串:AutoTranslate=False;

  如果ADO通过ODBC连接到数据库,则在配置ODBC时,将“执行字符数据转换”一项的勾去掉。

 

本文来自:erwin.softwarechn.com

posted on   z5337  阅读(276)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示