`
yeyuan
  • 浏览: 230842 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

dbexpress连接mysql提示Operation not allowed on a unidirectional dataset

阅读更多

最近刚接触delphi,在了解到dbExpress连接mysql的时候,出现了一些问题,特记录下

 

我遇到的问题有两个

1.

TDBGrid --DataSet=TDataSource1

TDataSource --DataSet = SqlTable1

DBNavigator -- DataSet

SQLConnection -- ConnectionName=MYSQLCONNECTION,Drive=MYSQL

SQLTable --SqlConnection=SqlConnection1 TableName=t_tablename  Active=true

 

dbExpress -> TDataSource ->TDBGrid 

 

前面是主要用到的控件,后面是相关的属性(简单测试了下,没有涉及到代码);

遇到的问题就是在设置TDBGrid的DataSet属性时,它会提示

Operation not allowed on a unidirectional dataset

 

大致意思就是“不允许一个单向的数据集操作”

 

后来在网上搜索了下,说是需要这样操作才可以

 

dbExpress -> TDataSetProvider -> TClientDataSet -> TDataSource ->TDBGrid 

 

后来我又设置了下

 

TDBGrid --DataSet=TDataSource1

TDataSource --DataSet = SqlTable1

DBNavigator -- DataSet

SQLConnection -- ConnectionName=MYSQLCONNECTION,Drive=MYSQL

SQLTable --SqlConnection=SqlConnection1 TableName=t_tablename  Active=true

DataSetProvider -- DataSet=SqlTable1

ClientDataSet -- Providername=DataSetProvider1 Active=true

 

这样一切就Ok了

不会报错,数据也正常显示了,但有一个问题,通过DBNavigator进行相关数据库操作,比如添加,编辑数据的时候,貌似不能添加或编辑成功。不知何故

 

我遇到的第二个问题就是乱码的问题

 

数据库中的表是采用的utf8格式的,读出来的全是问号,

我是这样解决的

 

修改SqlConnection--Params属性,找到SeverCharSet=gbk

 

一切就解决了   

 

1
1
分享到:
评论

相关推荐

    delphi中用dbexpress连接MySql5

    ### Delphi 中使用 DbExpress 连接 MySQL 5 在 Delphi 开发环境中,DbExpress 是一种用于构建高性能数据库应用程序的高效数据访问组件集。它提供了对多种数据库系统的支持,包括 MySQL。本篇文章将详细介绍如何在 ...

    mysql-dbexpress驱动

    delphi用dbexpress连接mysql的驱动

    delphi中用dbexpress连接mysql5.7需要的libmysql和dbxopenmysql50两个动态库.zip

    使用delphi7连接mysql5.7数据库需要的libmysql和dbxopenmysql50两个动态库已经测试用例。网上找了很多,都不能用,本示例是自己项目亲测可用。另外提供了判断数据库字段是空值还是空字符串的区别。程序可windowsxp和...

    dbexpress的Mysql驱动程序

    **dbExpress MySQL驱动程序详解** dbExpress是Embarcadero Technologies公司开发的一种数据库访问技术,它为Delphi和C++Builder等开发环境提供了一个轻量级、高效的数据库接口。dbExpress设计的目标是独立于特定...

    delphi用dbExpress连接mysql5代码及dll文件

    本主题聚焦于如何在Delphi 7中使用dbExpress框架来连接到MySQL 5及以上版本的数据库,这通常需要特定的驱动和支持文件。 首先,`dbExpress`是Delphi提供的一个轻量级、高度抽象的数据库访问层,它允许开发者以统一...

    Delphi6的DBExpress连接Mysql数据库.doc

    Delphi6的DBExpress连接Mysql数据库

    Delphi XE可用的dbExpress连接MySQL数据库驱动

    使用Delphi中的dbExpress组件连接MySQL时需要对应的数据库驱动。开发项目时将解压出来的libmysql.dll放到c:\windows\system32下,程序发布时,将delphi自带的dbxmys.dll和本资源提供的libmysql.dll一并放置主程序...

    dbexpress&mysql;连接示例

    在本文中,我们将深入探讨如何在Delphi XE8中使用DBExpress框架连接到MySQL数据库。DBExpress是一种灵活且轻量级的数据库访问技术,它允许开发者与多种数据库系统进行交互,而无需依赖特定的数据库驱动。在这个示例...

    dbexpress for mysql

    【dbexpress for mysql】是Delphi开发者用于连接MySQL数据库的一款组件。DbExpress是一个轻量级、基于驱动的数据库访问框架,它允许程序员通过统一的API与多种不同的数据库系统交互,而无需了解底层数据库的详细信息...

    dbexpress + mysql5.0多线程的完美版

    3>ClientDataSet1只添加即可,无需修改任何属性,datasource1的dataset:=ClientDataSet1 dbgrid1的datasource:= datasource1;DBNavigator1的datasource:= datasource1即可. 如下调用(见demo) implementation {...

    Delphi7 连接MySQL5.x的dbExpress驱动

    本文将详细介绍如何使用Delphi7通过dbExpress驱动连接到MySQL5.x数据库。Delphi7是一款经典的面向对象的编程环境,而dbExpress是一个轻量级且高效的数据库访问框架,适用于多种数据库系统,包括MySQL。 首先,我们...

    kylix 通过DBExpress 使用MySQL的例子

    在Kylix中使用DBExpress连接MySQL数据库,主要涉及以下步骤: 1. **安装MySQL驱动**:首先,你需要确保已经安装了支持MySQL的DBExpress驱动。这通常是一个名为dbexpmysql的动态链接库(DLL)文件,它实现了与MySQL...

    DevArt.dbExpress Driver for MySQL 6.1.2 25-Dec-12.FullSource.7z

    DevArt.dbExpress是一款知名的数据库连接库,专门用于在Delphi编程环境中与各种数据库系统进行交互。这个特定的压缩包文件 "DevArt.dbExpress Driver for MySQL 6.1.2 25-Dec-12.FullSource.7z" 包含的是针对MySQL...

    DevArt MyDAC 7.1.4 + dbExpress for MySQL 5.1.2 + Source.7z

    DevArt MyDAC 7.1.4 和 dbExpress for MySQL 5.1.2 是两个在 Delphi 开发环境中广泛使用的数据库连接组件。这两个组件分别提供了高效、强大的数据访问层,使得 Delphi 开发者能够方便地与 MySQL 数据库进行交互。 ...

    mysql5.0+delphi7+dbexpress多线程示例

    // 用法 mysql 5.* // // var sqlgn : TMySQLThread; (声明类) // // begin // // ds1.Close; {ds1 是 ClientDataSet1} // // sqlgn := TMySQLThread.create(sql语句,host,database,username ,psw, // // mysqlchar...

    DevArt MyDAC 7.1.6 and dbExpress for MySQL 5.1.3 Full Source.7z

    DevArt MyDAC 7.1.6 和 dbExpress for MySQL 5.1.3 是两个重要的数据库连接组件,主要用于在Delphi开发环境中与MySQL数据库进行高效、稳定的交互。这两个组件都提供了全面的源代码,使得开发者可以深入理解其工作...

    delphi7.0连接MYSQL

    在某些情况下,使用dbExpress连接MySQL可能会遇到问题,因此转向ODBC和ADO成为一种更方便的选择。 首先,你需要确保已经正确安装了MySQL。这通常是一个简单的过程,只需按照安装向导的指示进行即可。在安装过程中,...

    delphi 连接 mysql sqlconnection

    在开始编写代码之前,确保已经安装了适用于Delphi的MySQL驱动,如Embarcadero的DBExpress或Third-Party的MySQL连接器。这些组件通常会包含必要的DLL文件,并且在项目中正确配置引用。 2. **添加组件**: 在Delphi...

    DELPHI 7 连接MYSQL 完全解决

    - **遇到的问题**:在使用 Delphi 7 进行开发时,遇到了无法连接到 MySQL 数据库的问题,错误提示为 "Failure to connect: Unable to Load libmysql.dll"。 #### 知识点二:Delphi 7 与 MySQL 连接失败的原因分析 ...

    dbxoodbc_3_100_080212.zip dbexpress连接odbc的驱动

    《DbxOdbc:Delphi中的DBExpress与ODBC连接技术详解》 DBXODBC_3_100_080212.zip是一个包含Delphi DBExpress连接ODBC驱动程序的压缩包,其核心组件是dbxoodbc.dll。在本文中,我们将深入探讨DBExpress、ODBC以及...

Global site tag (gtag.js) - Google Analytics