pb11.5或pb12.5中sql语句的奇怪问题?

lqhly 2014-11-04 03:16:03
我的系统:xp-sp3、sqlserver2008、pb11.5 或pb12.5,通过odbc连接数据库。
我在做一个单据的自动增加时遇到了一个郁闷、奇怪的现象,不知道是什么原因,请求各位大侠救助。
order_no 单据号格式为年+月+日+2位流水号,比如14年11月04日 + 01即:14110401
我把'14110401%'存到一个字符串变量order_no_t中
保存成功后,在添加第二张单据时,单据号不能自动增加。经过调试跟踪发现是:
select max(order_no) into :order_no_max from t_order where order_no like :order_no_t;
这个语句执行后order_no_max = null而不是想要的'14110401’
而我直接用'14110401%'代替变量order_no_t 时结果却是正确的'14110401‘即
select max(order_no) into :order_no_max from t_order where order_no like ‘14110411%’
我还以为是pb115的版本出来问题,然后我升级到pb12,5问题还是一样的。请问高手们到底是什么原因造成的这样奇怪的结果?



...全文
360 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqhly 2014-11-08
  • 打赏
  • 举报
回复
好像是odbc的问题,我后来用ole db连接数据库就没有这个问题了
laoer_2002 2014-11-05
  • 打赏
  • 举报
回复
用'14110401%'代替变量order_no_t order_no like ‘14110411%’好像这两个不一样
sdhp 2014-11-05
  • 打赏
  • 举报
回复
谨慎的怀疑你SQL执行之前order_no_t参数值不对或者是null
jinyaoyu_79 2014-11-04
  • 打赏
  • 举报
回复
是不是%出现我问题呢。你可以先试一下order_no_t = ‘14110401’ ,再order_no_t = order_no_t + '%',再select max(order_no)等等。
WorldMobile 2014-11-04
  • 打赏
  • 举报
回复
引用 楼主 lqhly 的回复:
我的系统:xp-sp3、sqlserver2008、pb11.5 或pb12.5,通过odbc连接数据库。 我在做一个单据的自动增加时遇到了一个郁闷、奇怪的现象,不知道是什么原因,请求各位大侠救助。 order_no 单据号格式为年+月+日+2位流水号,比如14年11月04日 + 01即:14110401 我把'14110401%'存到一个字符串变量order_no_t中 保存成功后,在添加第二张单据时,单据号不能自动增加。经过调试跟踪发现是: select max(order_no) into :order_no_max from t_order where order_no like :order_no_t; 这个语句执行后order_no_max = null而不是想要的'14110401’ 而我直接用'14110401%'代替变量order_no_t 时结果却是正确的'14110401‘即 select max(order_no) into :order_no_max from t_order where order_no like ‘14110411%’ 我还以为是pb115的版本出来问题,然后我升级到pb12,5问题还是一样的。请问高手们到底是什么原因造成的这样奇怪的结果?
应该是你那个地方弄错了,建议你仔细检查,把order_no_t换成ls_no,值为1411%试试
A啦Dbit 2014-11-04
  • 打赏
  • 举报
回复
select 前检查一下 order_no_t的值,是否'11041101%' ,应该不会有这bug 另外再检查一下sqlca.sqlcode
lqhly 2014-11-04
  • 打赏
  • 举报
回复
引用 1 楼 opet98765 的回复:
不要在代码中直接写SQL去查询。把SQL转化为dw,去retrieve出来,再处理。
不会吧,我以前用pb8的时候都是这么处理的,你难道一条sql语句都不敢在代码中写吗?
qq_1919561306 2014-11-04
  • 打赏
  • 举报
回复
不要在代码中直接写SQL去查询。把SQL转化为dw,去retrieve出来,再处理。
PB12.5版本: 关于PBHelper(PBCOMMENT)这个软件,最新版本 1.0.2 PBHelper的前身是 PBCOMMENT 7.0。 ================================================================ 版权所有 (c) 1999-2000 RC Sizer 保留所有版权。 版权所有 (c) 2003-2006 Welkin 保留所有版权。 版权所有 (c) 2002-2006 TRUEWAY(TM) 保留所有版权。 注册商标 TRUEWAY(TM) 为李群巍所写程序专用。 PBHelper以前的名字叫 PBCOMMENT。 PBHelper(PBCOMMENT)是一个专门为PB程序员设计的综合性编程 助手工具。她能帮助PB程序员自动生成PB脚本代码注释、自动缩进美化 代码、自动完成代码、大小写转换,实现不同数据库类型之间的SQL语句 转换等功能。 PBHelper支持PowerBuilder 6.x/7.0/8.0/9.0/10.0/10.5/11.0。 (增加对11.5、12.0、12.5的支持) 关于此软件的英文详细说明,请阅读《readme.txt》。 联系方法: E-Mail: truewaylee@163.com, wolcen@sohu.com MSN: truewaylee@hotmail.com 软件包下载地址: http://gforge.osdn.net.cn/projects/pbhelper/ PBHelper(PBCOMMENT)的来历 ================================================================ PBHelper起初的代码参考了国外一个著名的 PBCOMMENT 软件。国外 的这个 PBCOMMENT 对 PB 6.0/6.5 和 PB 7.0 分别做了实现。初期的 版本主要用于自动生成函数、对象、DW内部代码的注释。后来,本人 对该软件核心代码做了重写工作,且在一个版本的 PBCOMMENT 里面 提供了对不同版本PB的支持。 从 PBCOMMENT 3.0 开始,在后续的版本,加入了代码自动整理 (Indent)、自动完成(插入DW编码模板)、自动删除(根据某个标记) 自动删除某个标记前面的或者后面的代码,从DW自动生成DW字段赋值语句、 从DW生成结构体等的辅助功能。从这些功能的增加来看,PBCOMMENT 已 不再是 COMMENT 的工具。有鉴于此,从 PBCOMMENT 7.0 以后软件名字 更改为 PBHelper。因为 PBHelper 不再仅仅关注于注释方面,而向功能 综合化、多样性方面发展。 PBHelper(PBCOMMENT)重要版本更新 ================================================================ 开始版本号 新增功能 ---------------------------------------------------------------- PBCOMMENT >>>>>>>>>> 5.2 可以处理 *.sr* 类型的文件的整理处理 将对象、窗口、函数等代码先 Export 成文本文件,在PB 用编辑文本文件的形式打开,然后象其他脚本一样 Indent 5.2 新增自动将工具集成到 PB 开发环境的功能 目前支持的版本是 PB 6.0/6.5, PB 9.0 5.3 新增自动在某个代码段加每行代码的相同的前缀或者相同的后缀 这个在我们日常生活经常要用到的 5.31 新增自动根据字段列表,变量列表,datawindow 赋值语句列表, 自动生成 datawindow 之间复制数据的代码 自动生成 结构体变量 和 datawindow 之间的赋值代码 自动生成 变量列表 和 datawindow 之间的赋值代码 具体可看 《pbcomment自动写代码.doc》的说明 5.31 新增双语言显示 pbcomment.ini 文件, language = 0 表示简体
Powerbuilder 9.0实用教程》源代码 1.本源代码包括以下章节源代码: 第01章 认识PowerBuilder 9.0、第05章 创建应用程序、第06章 创建窗体、第07章 创建菜单和工具栏、第10章 应用程序的调试和发布、第11章 典型小型实例赏析、第12章 图书管理系统实例和第13章 学生选课系统实例。 2.源代码使用方法参见《附录A 源代码的使用方法》文件。 __________________________________________________________________ 注意: 1.建议读者下载源文件后,将该源文件进行备份,读者使用副本源文件进行学习,这样一但出问题就不用再从网上下载了。 2.将源文件“数据库文件”文件夹一定要复制到C盘根目录下,这样才能保证您连接数据库文件成功,具体方法参见《附录A 源代码的使用方法》。 对于书源代码除了数据库外其他都能正常使用,而示例数据库需要用户在自己的计算机上注册后才能使用,如果不注册数据源就运行应用程序是检索不到任何数据的,下面以连接学生选课系统数据库为例具体介绍如何连接数据库文件。 第1章 认识PowerBuilder 9.0 1 1.1 PowerBuilder 9.0简介 1 1.1.1 国软件业现状 1 1.1.2 为什么要学习PowerBuilder 9.0 2 1.1.3 PowerBuilder的概述 2 1.1.4 PowerBuilder的特点 3 1.1.5 PowerBuilder 9.0的新特性 6 1.2 安装PowerBuilder 9.0软硬件需求 9 1.2.1 软件环境需求 9 1.2.2 硬件环境需求 9 1.3 PowerBuilder 9.0功能界面介绍 10 1.3.1 PowerBuilder 9.0界面简介 10 1.3.2 常用功能菜单 10 1.4 工作环境设置 16 1.4.1 工具栏的设置 16 1.4.2 窗口排列 19 1.4.3 快捷键设置 20 1.4.4 系统选项设置 21 1.5 用5分钟制作一个简单实例 22 1.5.1 实例运行界面 22 1.5.2 新建一个工作空间对象 22 1.5.3 新建一个应用程序对象 23 1.5.4 创建窗体 23 1.5.5 为应用程序添加open事件代码 25 1.6 小结 27 1.7 习题 27 第2章 编程基础知识 28 2.1 PowerScript脚本语言书写规则 28 2.1.1 忽略大小写 28 2.1.2 语句的断行、续行和分割 28 2.1.3 注释 29 2.2 数据类型 29 2.3 变量和作用域 30 2.3.1 定义变量 30 2.3.2 引用变量 30 2.3.3 变量的作用域 30 2.4 操作符 31 2.5 标识符 32 2.5.1 标识符的构成 32 2.5.2 匈牙利命名法 32 2.6 常用代词 33 2.7 控制语句 34 2.7.1 判断语句 34 2.7.2 循环语句 36 2.8 结构 38 2.8.1 创建结构 38 2.8.2 使用结构 40 2.9 函数 40 2.9.1 Open()和Close()函数 41 2.9.2 MessageBox()函数 41 2.9.3 类型转换函数 41 2.9.4 类型判断函数 42 2.9.5 其他函数 42 2.10 ODBC数据源与专用数据库接口 43 2.10.1 什么是ODBC数据源 43 2.10.2 专用数据库接口 43 2.10.3 连接数据库 44 2.10.4 配置ODBC 48 2.11 SQL语言 49 2.11.1 SQL语言的格式 49 2.11.2 在PowerBuilder 9使用SQL语句 51 2.12 类和对象的概念 56 2.12.1 继承 57 2.12.2 重载和多态性 57 2.12.3 封装 57 2.12.4 属性、事件和函数 57 2.13 在PowerBuilder 9.0实现面向对象编程 58 2.13.1 创建对象 58 2.13.2 设置对象属性 59 2.13.3 编写事件代码 59 2.13.4 实现继承对象 60 2.14 用户对象和用户事件 61 2.14.1 用户对象分类 61 2.14.2 定义用户对象 62 2.14.3 使用用户对象 64 2.14.4 用户事件 66 2.15 小结 67 2.16 习题 68 第3章 创建数据库 69 3.1 数

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧