开发者社区> 技术小美> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Delphi 中使用 ADO 方法打开 MySQL5.0 数据库并避免汉字乱码

简介:
+关注继续查看

    需要安装 MyODBC 数据库驱动,常见的版本是 3.51,比如 MyODBC-3.51.11-2-win.exe。

    代码示例:

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;

    type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        Button1: TButton;
        procedure FormActivate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation
    {$R *.dfm}

    procedure TForm1.FormActivate(Sender: TObject);
    begin
      try
        ADOConnection1.ConnectionString:=('DRIVER={MySQL ODBC 3.51 Driver};'+
                        'SERVER=localhost;'+
                        'DATABASE=17kf8;'+
                        'USER=root;'+
                        'PASSWORD=mbi1001;'+
                        'OPTION=3;');
        ADOConnection1.Close;
        ADOConnection1.Open;
      except
        application.MessageBox('无法连接到MySQL数据库', '提示', MB_ICONINFORMATION);
      end;
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ADOQuery1.close;
      ADOQuery1.SQL.Text := 'SET NAMES gbk;';
      ADOQuery1.ExecSQL();
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('SELECT * FROM open_news');
      ADOQuery1.Open;
    end;

    end.

    关键代码解释:

    1,DRIVER={MySQL ODBC 3.51 Driver}; 是连接 MySQL 数据库的关键;
    2,ADOQuery1.SQL.Text := 'SET NAMES gbk;' 语句避免了 MySQL 的汉字乱码。

    作者:张庆(网眼) 西安 PHP 教育培训中心 2010-10-3
    来自“网眼视界”:http://blog.why100000.com
    作者微博:http://t.qq.com/zhangking
    “十万个为什么”电脑学习网:http://www.why100000.com













本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/405218,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Centos6.7系统的虚拟机网络配置教程
前几天分享了如何在vSphere Client的虚拟机上安装Centos6.7操作系统。至此,虚拟机的驱壳是已经搭建好了的,接下来是虚拟机内部的设置。今天小编将分享如何给centos6.7系统的虚拟机配置网络。
1086 0
Centos 更改MySQL5.7数据库目录位置
Centos7.3 安装Mysql5.7并修改初始密码 基于 CentOS Mysql 安装与主从同步配置详解 Centos 通过yum安装(RPM分发进行安装)MySQL的几个人默认目录如...
1913 0
高效的使用stl::map和std::set
1、低效率的用法 // 先查找是否存在,如果不存在,则插入 if (map.find(X) == map::end()) // 需要find一次 {     map.insert(x); // 需要find一次 } // 下面这段代码是一个意思 if (0 == map.
552 0
禁止用户对系统数据库表的SELECT权限
由于数据库安全方面的考虑,想去掉某些用户对系统数据库表的SELECT权限,找了N久,原来在系统数据库下的角色中有public的角色,该角色的权限允许了对系统数据库表的SELECT权限,设为禁止即可。
671 0
使用SSL安全链接Mysql数据库
一、使用SSL安全连接 To use SSL connections between the MySQL server and client programs, your system must support either OpenSSL or ...
8408 0
Delphi中的加密算法(MD5,MD4,MD3...)
在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的DLL或是Pas了。在Uses单元中引用 IdHashMessageDigest 单元,再写如下代码即可以达到MD5的实现。示例代码 procedure TForm1.Button1Click(Sender: TObject);var  MyMD5: T
1158 0
+关注
6819
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载