pb 如何存取大于255的字符串

xiaoping04408 2010-07-28 05:21:19
环境:PowerBuilder 9.0 + SqlSerever 2000
描述:现在数库表中有一字段暂叫做sjly_sql char(2000) 但是在存储的时候,如果字符串大于255就会自动截断、
因为考虑到频率读写很大、不想用大文本类型、不知哪位高人指点一二。
...全文
197 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wag_enu 2010-08-03
我 mark 没有呢?
回复
xiaoping04408 2010-08-03
不错!这个方法更好!比较简单
回复
da21 2010-07-30
可在PB设数据库连接那里设置下
回复
fengxiaohan211 2010-07-30
威武 呵呵 学习了啊
回复
xiaoping04408 2010-07-30
[Quote=引用 1 楼 xys_777 的回复:]
PB对数据库字段varchar类型255的限制问题
http://blog.csdn.net/xys_777/archive/2009/07/03/4317852.aspx
[/Quote]
参考永生给的提示做了个函数(完整性还不太好)
如下:

global function string f_getsjlysql (string asbbbh, string assh, string aszcbz, string astype)
end prototypes

global function string f_getsjlysql (string asbbbh, string assh, string aszcbz, string astype);//参数说明:
//asbbbh :报表编号
//aszcbz :主从标识
//astype :类型
//返回值:string sql
//ADD 平忠强
//最大可读取1000个字符 32
string ls_sql[]
string vs_sql
string vs_return
integer i
vs_sql = ""
for i = 1 to 32
vs_sql = " select substring(sjly_sql,( "+string(i)+" -1)*250 + 1,8000/32) from ldpsjly where sjly_bbbh = '" + asbbbh + "' and sjly_sh = '" + assh + "' and sjly_zcbz = '" + aszcbz + "' and sjly_type = '" + astype + "'"
declare get_cursor dynamic cursor for sqlsa;
prepare sqlsa from :vs_sql;
if sqlca.sqlcode <> 0 then
return ""
end if
open get_cursor;
fetch get_cursor into :ls_sql[i];

CLOSE get_cursor;
next

for i = 1 to UpperBound(ls_sql[])
vs_return = vs_return + ls_sql[i]
next

return vs_return
end function



回复
永生天地 2010-07-30
再看 这个 ,我用 cast(column as text) 也可以
PB对数据库字段varchar类型255的限制问题
http://blog.csdn.net/xys_777/archive/2009/07/03/4317852.aspx

// Profile bh_salvation
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "master"
SQLCA.LogPass = 'sa'
SQLCA.ServerName = "data"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
connect;

string ls_c
select cast(unit as text) into :ls_c from tb;
messagebox(string(len(ls_c)),ls_c)
select unit into :ls_c from tb;
messagebox(string(len(ls_c)),ls_c)
回复
liuxg1981 2010-07-29
用text吧!
回复
184270428 2010-07-29
换连接驱动。
比如用oledb
注意,“PB对数据库字段varchar类型255的限制问题”,这不是PB限制,而是驱动切断的。
回复
DYFDWX 2010-07-29
dingding
回复
new4everlau 2010-07-29
UPUP
回复
WellSoft 2010-07-28
SELECT CAST(字段名 AS text) 字段名 FROM ....
回复
gloomybima 2010-07-28
学习了~
回复
KaedaRukawa 2010-07-28
存的时候该怎么存呢?用2005是可以直接添加到数据库中的,2000就不行
回复
xiaoping04408 2010-07-28
[Quote=引用 1 楼 xys_777 的回复:]
PB对数据库字段varchar类型255的限制问题
http://blog.csdn.net/xys_777/archive/2009/07/03/4317852.aspx
[/Quote]
多谢永生兄
回复
永生天地 2010-07-28
PB对数据库字段varchar类型255的限制问题
http://blog.csdn.net/xys_777/archive/2009/07/03/4317852.aspx
回复
发动态
发帖子
数据库相关
创建于2007-09-28

731

社区成员

PowerBuilder 数据库相关
申请成为版主
社区公告
暂无公告