网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何显示已在数据库编码了的相对应的记录?

asp如何显示已在数据库编码了的相对应的记录?

  发布时间:2010-06-09 18:44:00 

标签:数据库,记录,歌曲

如何显示已在数据库编码了的相对应的记录?

我做了一个歌曲库,在查询中使用了几个下拉菜单供选择条件用,如歌手的性别、区域、爱好等,由于选项太多,维护麻烦,朋友建议我用编码方式,即在往主数据库中输入选项时只输入编码,显示时把对应的汉字显示如来。该如何做呢?

这个程序,输入记录部分好做,如查询性别,只需按下处理即可:

< % 
Set Conn=Server.CreatObject("ADODB.Connection") 
Conn.Open "CHUNFENG" 
Set RS =Conn.Execute("Select YB, DB From zd Where YB Like "se%"") 
Response.Write "< SELECT SIZE=1 NAME="SEX" >" 
Do While Not RS.EOF 
response.write "< option value='"RS(0)"' >" &RS(1) 
Rs.MoveNext 
Loop 
Response.Write "< /SELECT >" 
RS.Colse 
Conn.Colse 
% > 

其中,zd.dbf包含DB、YB两个字段,DB表示待编码项,象男、女,YB表示编码,象性别编码的前两位为se,se1表示男,se2表示女。
    查询部分复杂一些,需要技巧来处理:当在下拉菜单选中一项时,例如性别选中男,下拉菜单中输入的是se1——当然,反映在数据库中是“SEX=1”,因为我们已在数据库中输入编码——查询的就会是SEX=se1的项,在处理时,我们只要要把se1中的1提取出来就行。注意,这里我们用到一个函数mid,查询条件为:
SEX=mid("se1",3,1)
即从数据库中查找SEX=1的项,并把所有满足条件的项不重复地列举出来。 在显示查询结果(列表方式)时还需要显示编码对应的汉字,这好办,到字典中去找编码为"se"&"1"的项所对应的编码值即可,具体代码如下:

< table border="1" width="95%" 
bordercolor="#C0C0C0" cellspacing="0" cellpadding="0" 
bordercolorlight="#C0C0C0" 
bordercolordark="#C0C0C0" height="60" > 
  < tr > 
   < td width="10%" align="center" height="1" >< p align="center" >姓名< /td > 
   < td width="10%" align="center" height="1" >编号< /td > 
   < td width="10%" height="1" > < p align="center" >性别< /td > 
   ...... 
 < /tr > 
   < %i=1% > 
   < %While Not RS.EOF % > 
   < tr > 
     < td width="9%" align="center" height="1" >< %=RS ("name")% >< /td > 
     < td width="12%" align="center" height="1" >< %=RS ("dang")% >< /td > 
     < td width="6%" height="1" >< %=Func ("se" & RS("sex"),CHUNFENG)% >< /td > 
       ...... 
     < /tr > 
     < %RS.MoveNext% > 
     < %i=i+1% > 
   < %WEnd% > 
   < /table > 

其中:
Func ("se" & RS("sex"),CHUNFENG)
就是实现从数据源中取得编码所对应的汉字功能的函数,。

 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com