1、用Delphi连接MySQL数据库,一般推荐两种方式:dbExpress,ODBC。dbExpress的效率较高,但对于本地客户端数据集比较麻烦。ODBC非常通用,如果用ODBC作为数据库访问层,后台数据库可以很容易切换,而代码基本不用修改。我们假设用ODBC连接MySQL数据库,首先要下载MySQL的ODBC驱动,到MySQL的官方网站就可以下载,然后安装即可。

2、在程序中一般要根据用户的配置自动配置ODBC,而不是让用户打开ODBC的配置窗口进行手工配置。ODBC的配置信息一般写在注册表中:

HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBC.INI/ODBC Data

Sources。我们可以通过写注册表的方法来建立ODBC连接,但操作注册表还算麻烦;为了简单,采用ODBC驱动提供的配置API函数:SQLConfigDataSource。

首先在Delphi单元中导入SQLConfigDataSource的声明:

function SQLConfigDataSource(hwndParent: Integer; fRequest:

Integer;lpszDriverString: String; lpszAttributes: String):

Integer;stdcall;external 'ODBCCP32.DLL';

在需要配置ODBC的地方执行SQLConfigDataSource函数:

SQLConfigDataSource(0, 4, 'MySQL ODBC 3.51

Driver',

'DSN=yourdsnname' + chr(0) +

'DATABASE=yourdatabase' + chr(0) +

'SERVER=192.168.10.36'+chr(0) +

'UID=root' + chr(0) +

'PWD=yourpwd' + chr(0));

第一个参数固定为0。

第二个参数是配置操作类型:

#define ODBC_ADD_DSN 1

#define ODBC_CONFIG_DSN 2

#define ODBC_REMOVE_DSN 3

#define ODBC_ADD_SYS_DSN 4

#define ODBC_CONFIG_SYS_DSN 5

#define ODBC_REMOVE_SYS_DSN 6

#define ODBC_REMOVE_DEFAULT_DSN 7

第三个参数是数据库驱动的名称。

第四个参数是配置属性的字符串,每个属性间一定用'/0'分隔,Delphi中可以用chr(0)。

执行完后就建立了名称为yourdsnname的ODBC数据源,你可以重复调用上面的函数而不用担心会建立多个同名的

ODBC数据源。

delphi连接mysql不用添加dsn_Delphi]delphi中动态创建MySQL的ODBC连接 .相关推荐

  1. Java中怎样创建数据库_在java中怎样创建MySQL数据库列表给个例子 爱问知识人

    java中怎样创建MySQL数据库列表 需要使用jdbc访问数据库. 具体步骤如下: 1:加载驱动 ,返回连接 private static final String DRIVER_CLASS = & ...

  2. MFC中动态创建控件以及添加事件响应

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  3. MFC中动态创建button及添加响应事件

    MFC中动态创建button及添加响应的事件,主要步骤如下:  1.在头文件(**Dlg.h)中添加一个CButton类型,  例如:CButton btn;  2.在(**Dlg.cpp)的OnIn ...

  4. WPF 中动态创建和删除控件

    WPF 中动态创建和删除控件 原文:WPF 中动态创建和删除控件 动态创建控件 1.容器控件.RegisterName("Name",要注册的控件)   //注册控件 2.容器控件 ...

  5. MFC中动态创建控件以及事件响应实现方法

    本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态 ...

  6. 在 JavaScript 中动态创建表格、按钮和 DIV

    使用 document.createElement() 方法,您可以在 JavaScript 中动态创建指定的 HTML 元素.创建后,您可以将元素插入(或添加)到您的网页,或将其添加到预定义元素或动 ...

  7. matlab 创建 符号矩阵,如何在MATLAB中动态创建符号矩阵?

    我需要在MATLAB中创建一个符号矩阵.它可以静态地完成为如何在MATLAB中动态创建符号矩阵? syms a11 a12 a21 a22; A = [a11 a12; a21 a22]; 或使用紧凑 ...

  8. python创建类的实例方法-Python中动态创建类实例的方法

    简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模 ...

  9. Java如何配置ibmmq集群_如何在IBM MQ集群中动态创建订阅?

    当我使用此代码作为订阅者时: class Product(model.Models): def saveProduct(self, product): if self.validateProduct( ...

  10. php动态创建变量名,PHP中动态创建变量名(可变变量)

    PHP中,我们可以动态地创建一个变量名.例如,你想要使用与数据库查询得到的字段名称一致的变量名. 使用PHP中"可变变量"的语法,即在一个其值为你想作为变量名称的变量前面加一个$: ...

最新文章

  1. 什么是self-attention、Multi-Head Attention、Transformer
  2. 利用DDA算法得到直线上的像素点坐标
  3. 使用resnet训练CIFAR10
  4. java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...
  5. java面向对象基础复习
  6. kerberos体系下的应用(yarn,spark on yarn)
  7. superset数据集birth_names的负时间戳处理
  8. 微信小程序点播插件_微信小程序 wxParse插件显示视频问题
  9. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
  10. 在QEMU硬件环境中启动 kernel 2.6 + busybox as rootfs
  11. java 存储过程简单例子
  12. 行间事件传this的问题:
  13. 微信5.0安卓内测版下载
  14. 亮度翻转_双轴翻转屏设计 ConceptD 3 Ezel设计师本评测
  15. 大数据分析平台建设项目需求报告与技术方案
  16. java根据天数求周数_利用Java中Calendar计算两个日期之间的天数和周数
  17. 计算机词汇 音标,计算机词汇带音标word版本.pdf
  18. DBMS 中实现事务持久性的子系统是()
  19. Pro Android学习笔记(一五五) 传感器(5) 磁场传感器和方位(上)
  20. flutter中地图定位

热门文章

  1. 三菱FX5U rtu方式通讯两台施耐德ATV320变频器
  2. 【SSL】2021-08-17 1285.砍伐树木
  3. 《上古卷轴5重制版》支线任务
  4. 探索:区块链视频流媒体平台
  5. 我的世界神级种子Java_《我的世界》值得收藏的10个“神级种子”,最难找的遗迹都在这!...
  6. SPSS编程-统计自动化-VBA脚本开发
  7. vivox50支持鸿蒙,【vivoX50Pro评测】轻薄机身内大有玄妙 深挖vivo X50系列技术创新-中关村在线...
  8. MAC dmg转ISO 及命令安装启动U盘
  9. Scratch(四):万圣节南瓜点灯
  10. 24.猫狗数据自定义训练