当前位置: 代码迷 >> PB >> 检测列名是否有效解决办法
  详细解决方案

检测列名是否有效解决办法

热度:59   发布时间:2016-04-29 06:10:54.0
检测列名是否有效
事先不知道 ‘column_name’是否是正确的列名
如何判断列名是否有效?
不然的话,getitemstring(row,'column_name') 会出错!
------解决方案--------------------
GetColumnName()

Returns the name of the current column in dwcontrol. Returns the empty string ("") if no column is current or if an error occurs.
------解决方案--------------------
有一个思路给你,在PB自带的ASA库中有两个表
systable
syscolumn
存储所有的表以及表的字段,借助他们可以做一些操作

别的数据库可能也有类似的系统表,你找找看
------解决方案--------------------
方法:
if long(dw.describe(col_name + ".id")) > 0 then
 true
else
 false
end if

------解决方案--------------------
引用:
事先不知道 ‘column_name’是否是正确的列名
如何判断列名是否有效?
不然的话,getitemstring(row,'column_name') 会出错!

参考sql server的.

/*
获取一个表的列名
(爱新觉罗.毓华  2008-01-02  广东深圳)
*/

--sql server 2005的写法
SELECT column_name
FROM INFORMATION_SCHEMA.columns
WHERE table_name = 'Employee'

/*
column_name
----------------
EmployeeID
NationalIDNumber
ContactID
LoginID
ManagerID
Title
BirthDate
MaritalStatus
Gender
HireDate
SalariedFlag
VacationHours
SickLeaveHours
CurrentFlag
rowguid
ModifiedDate

(16 行受影响)
*/

--sql server 2000 的写法
select col_name(object_id('authors'),ordinal_position)
from information_schema.columns
where table_name = 'authors'

/*
---------
au_id
au_lname
au_fname
phone
address
city
state
zip
contract

(所影响的行数为 9 行)
*/
  相关解决方案