我往何处去

  • 喃喃自语
  • 谈谈管理
  • 聊聊人文
  • 搞搞技术
  • 玩玩音乐
  • 拍拍照片
  • 看看电影
从微信朋友圈逃回博客,是我能与这个世界保持的距离
  1. 首页
  2. 搞搞技术
  3. 正文

win10下的SQLSERVER2008 + PB9.0的一个问题

2021-11-24 707点热度 0人点赞 0条评论

最近改一个史前文明的代码,PB9+SQLSERVER2000,在winXP下写的一个软件,用户因为换到Win10下,只能装SQLSERVER2008,连接不上数据库,于是需要改一下数据库连接部分的代码;同时也改一些小功能;(SQLSERVER2008与PB不能用专用接口了,只能走ODBC连接了,看到有人说OLEDB方式也可以,我不搞技术好多年,没试)

连接的部分很容易,但接着发现了一个错误,在SQL2008下,数据窗口的SQL语句,不能在子查询带参数了!
比如:

数据窗口的构成语句

SELECT a  FROM t1 WHERE a NOT IN (SELECT b FROM t2 WHERE c = :s_name)

,这样的数据窗,以前是可以在运行时,用retrieve("aaa")来给 s_name 传递参数的;但在SQLSERVER2008中编译能通过,实际retrieve时则会出SQL语法错误!,因此必须写成一个字符串,s_sql = 'SELECT a FROM......Where c = ")' + s_name + '" ',然后在代码里 让这个 datawindow.table.select = s_sql.

我也不知道是我设置错误还是确实如此,反正这样就可以解决问题。记录一下,以免下次又遇到。

标签: 暂无
最后更新:2021-11-24

tocwei

我一定会后悔,但这正是决定的意义,是人生的宿命,是自由意志的代价,在最后,后悔带来的痛苦,会让我感觉到人生如此灿烂。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

tocwei

我一定会后悔,但这正是决定的意义,是人生的宿命,是自由意志的代价,在最后,后悔带来的痛苦,会让我感觉到人生如此灿烂。

COPYRIGHT © 2024 一苇可航. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang