powerbuilder mysql

本文介绍了如何通过设置MySQL的sql_mode来启用IGNORE_SPACE模式,从而解决因空格引起的SQL解析问题。提供了PowerBuilder和JDBC两种实现方式,并推荐通过修改my.ini文件来持久化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果是用C语言API来操作,可以指定CLIENT_IGNORE_SPACE 参数,ODBC驱动中也有Ignore Space Afrer Function Names 这个选项,但是官方的JDBC中的没有这个选项。所以,要使用MYSQL 语句来设置。


Powerbuilder中的设置

[cpp]  view plain  copy
 print ?
  1.  string sql    
  2.  long ll_count  
  3.  sql = "SET sql_mode = 'IGNORE_SPACE' "    
  4. EXECUTE IMMEDIATE :sql ;   
  5. select count(*) into :ll_count from yk_cddz;   

这样操作就不会有错误了,可以得到正确结果了,希望有同样问题的朋友可以借鉴。


推荐在通过设置mysql的my.ini来解决函数问题。

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,IGNORE_SPACE"


JDBC方式

 1.  安装Java运行环境,配置path,classpath,

### 如何在 PowerBuilder 2021 中连接和操作 MySQL 数据库 #### 安装必要的驱动程序和支持软件 为了使 PowerBuilder 能够与 MySQL 进行通信,需要安装相应的 ODBC 驱动程序。可以从 MySQL 官方网站下载适用于 Windows 的 MySQL Connector/ODBC[^4]。 #### 创建数据源名称 (DSN) 通过控制面板中的“管理工具”-> “数据源(ODSN)”来创建一个新的 DSN。选择已安装的 MySQL ODBC Driver 版本并配置所需的参数,如服务器地址、端口、用户名和密码等。 #### 使用 PowerScript 编写代码访问 MySQL 数据库 一旦设置了 DSN,在 PowerBuilder 应用程序中就可以利用 SQLCA 对象建立到 MySQL 数据库的连接: ```powerscript // 建立数据库连接 SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.LogId = "your_username" SQLCA.Password = "your_password" SQLCA.ServerName = "Your_DSN_Name" CONNECT USING SQLCA; IF SQLCA.SQLCode <> 0 THEN MessageBox("Error", "Connection failed.") ELSE MessageBox("Success", "Connected successfully!") END IF ``` 对于执行查询语句的操作,则可以采用动态或嵌入式的 SQL 方法。以下是使用 `EXECUTE IMMEDIATE` 动态执行 SELECT 查询的例子: ```powerscript string ls_sql DataWindow ldw_result ls_sql = "SELECT * FROM your_table WHERE condition;" ldw_result = CREATE DataWindow() ldw_result.Create(ls_sql) OPEN(ldw_result) ``` 以上展示了基本的数据检索过程;而对于插入、更新以及删除记录等功能同样可以通过构建合适的 SQL 文字串并通过 EXECUTE IMMEDIATE 来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值