C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #1 比如有一个字段,它可能是a,b,c,d,e,f的组合(整型数据).
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #2 a=1,b=2,c=4,d=8,e=16,f=32,这样编码可否?
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #4 不太明白,比如: 0 - {} 1 - a 2 - b 3 - a,b 4 - c 5 - a,c 6 - b,c 7 - a,b,c 8 - d ..... 应该是连续的吧。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #5 补充: 1.也不一定是整型,什么类型都可以. 2.sql server 7.0
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #6 这样硬性编码不好,因为这个集合是要由用户进行调整的,比如删除/添加
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-12 #8 另一种方案:用 VARCHAR 或 CHAR 类型, 串长度固定。 A,B,C,D,...在串中的位置是固定的,若集合中没有该元素,则该位置为空格。 例如: " " - {} "A " - a " B " - b "AB " - a,b " C " - c "A C " - a,c " BC " - b,c "ABC " - a,b,c " D" - d ....
另一种方案:用 VARCHAR 或 CHAR 类型, 串长度固定。 A,B,C,D,...在串中的位置是固定的,若集合中没有该元素,则该位置为空格。 例如: " " - {} "A " - a " B " - b "AB " - a,b " C " - c "A C " - a,c " BC " - b,c "ABC " - a,b,c " D" - d ....
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-13 #9 如果删除集合中一个元素,怎样处理? 比如某条记录的该字段值为 'ABC',现在我删除了元素B,怎样更新该字段值? 不能一条一条更新的,因为记录很多. sql server有没有能类似pos,copy的字符串函数?
如果删除集合中一个元素,怎样处理? 比如某条记录的该字段值为 'ABC',现在我删除了元素B,怎样更新该字段值? 不能一条一条更新的,因为记录很多. sql server有没有能类似pos,copy的字符串函数?
Z zensst Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-13 #10 如果知道集合类型在内存中的表达方法,可以用BLOB来存放。可是我不知道。可以 找编译原理来看看。TBLOBStream.ReadBuffer和WriteBuffer。 如果你是想定义操作权限的话,可以不用集合;其实集合并不好用,因为它的数据 结构和表达不规定。我采用TStrings和BLOB来定义权限。比如,某人有‘删除’的 权限,则在他的TStrings中Add('删除=1')。用TStrings.Value('删除')='1'来 判断。因为操作权限的类型不会很多,少于1000吧,用TStrings来处理不慢。
如果知道集合类型在内存中的表达方法,可以用BLOB来存放。可是我不知道。可以 找编译原理来看看。TBLOBStream.ReadBuffer和WriteBuffer。 如果你是想定义操作权限的话,可以不用集合;其实集合并不好用,因为它的数据 结构和表达不规定。我采用TStrings和BLOB来定义权限。比如,某人有‘删除’的 权限,则在他的TStrings中Add('删除=1')。用TStrings.Value('删除')='1'来 判断。因为操作权限的类型不会很多,少于1000吧,用TStrings来处理不慢。
N Nose Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-13 #11 我也曾经遇到同样问题。我用A;B;C记录,不过因为记录比较少,更新时记录不进行 变动,用的时候再判断,然后提供一个类似整理数据的功能,把删除的从字段中去掉。但是感觉很不high.我也想知道
C Croco Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-14 #12 如果删除集合中一个元素,怎样处理? 把 'B' 替换为空格,用 Replace 函数更新: UPDATE TableName SET FieldName = Replace(FieldName, 'B', ' ') sql server有没有能类似pos,copy的字符串函数? 哈哈,大侠应该知道吧: CharIndex 相当于 Pos SubString 相当于 Copy。
如果删除集合中一个元素,怎样处理? 把 'B' 替换为空格,用 Replace 函数更新: UPDATE TableName SET FieldName = Replace(FieldName, 'B', ' ') sql server有没有能类似pos,copy的字符串函数? 哈哈,大侠应该知道吧: CharIndex 相当于 Pos SubString 相当于 Copy。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-14 #13 谢谢你Croco,现在应该可以解决问题了. 我的数据库很苯的.