asp实现的7xi音乐网的采集源代码

2018-09-06 11:43

阅读:315

  共5个文件:
2个是配置文件:
配置文件:
cfg.txt---保存检测ID信息的,第一次采集时设为1,从小到大检测
cfg.asp---ASP的配置信息,内容如下:
复制代码 代码如下:
<%

╔=======================================╗
┆┆
┆@系统:7xi音乐采集系统Version2.0┆
┆@模块:配置文件┆
┆@创建:2006/07/24┆
┆@作者:D.S.Fang┆
┆@联系nbsp;QQ-3700909┆
┆@版权:源码公开,无任何版权问题,您可以┆
┆放心使用!!!尊重作者劳动成果,请┆
┆保留此信息!┆
┆┆
╚=======================================╝


dimpicc_FolderPath,mp3_FolderPath
dimv_7xijs_url,v_7xipicc_url,v_7xiplay_url,v_7xialbum_url,v_7ximp3_url,cfg_name,cfg_line
dimhttpobj,str,str0,str1,str2,str3,str4,str5,str6,str7,str8,str9
dimis_getrm

---音乐文件是否保存到本地,true-保存;false-不保存
is_getrm=false

---保存路径
picc_FolderPath=H:\mp3data\images\
mp3_FolderPath=H:\mp3data\rm\

---7xi相关页面
v_7xijs_url=
v_7xipicc_url=
v_7xiplay_url=
v_7xialbum_url=
v_7ximp3_url=---实时读取

---检测ID
cfg_name=cfg.txt
cfg_line=1

---读取播放js文件,获得rm文件路径
sethttpobj=server.createobject(paopao.http)
str=httpobj.get(v_7xijs_url)
str0=split(str,theurl2=&chr(34))
str1=split(str0(1),chr(34))
v_7ximp3_url=str1(0)
sethttpobj=nothing
str=

---数据库连接
Conn.Opendriver={SQLserver};server=localhost;uid=mp3;pwd=mp3;database=mp3db

---拼SQL语句execute时需要过滤一下
FunctionIndbStr(str)
ifisNull(str)orstr=then
IndbStr=str
else
IndbStr=replace(replace(trim(str),,),%,)
endif
EndFunction

---关闭数据库连接
FunctionCloseConn()
conn.close
setconn=nothing
EndFunction

---取得远程文件并保存到本地
FunctionGetRemoteFiles(RemotePath,LocalPath,FileName)
DimstrBody
DimFilePath
OnErrorResumeNext
---取得流
strBody=GetBody(RemotePath)
---取得保存的文件名
ifRight(LocalPath,1)<>\thenLocalPath=LocalPath&\
ifnotCheckDir(bkfolder)thenMakeNewsDirbkfolder
FilePath=LocalPath&GetFileName(RemotePath,FileName)
---保存文件
ifSaveToFile(strBody,FilePath)=trueanderr.Number=0then
GetRemoteFiles=true
else
GetRemoteFiles=false
endif
EndFunction

---远程获取内容
FunctionGetBody(url)
DimRetrieval
---建立XMLHTTP对象
SetRetrieval=CreateObject(Microsoft.XMLHTTP)
WithRetrieval
.OpenGet,url,False,,
.Send
GetBody=.ResponseBody
EndWith
SetRetrieval=Nothing
EndFunction

---重组文件名
FunctionGetFileName(RemotePath,FileName)
DimarrTmp
DimstrFileExt
arrTmp=Split(RemotePath,.)
strFileExt=arrTmp(UBound(arrTmp))
GetFileName=FileName&.&strFileExt
EndFunction

---将流内容保存为文件
FunctionSaveToFile(Stream,FilePath)
DimobjStream
OnErrorResumeNext
---建立ADODB.Stream对象,必须要ADO2.5以上版本
SetobjStream=Server.CreateObject(ADODB.Stream)
objStream.Type=1以二进制模式打开
objStream.Open
objstream.writeStream
objstream.SaveToFileFilePath,2
objstream.Close()
---关闭对象,释放资源
Setobjstream=Nothing
iferr.Number<>0then
SaveToFile=false
else
SaveToFile=true
endif
EndFunction

---读取文本文件
FunctionFSOlinedit(filename,lineNum)
iflinenum<1thenexitfunction
dimfso,f,temparray,tempcnt
setfso=server.CreateObject(scripting.filesystemobject)
ifnotfso.fileExists(server.mappath(filename))thenexitfunction
setf=fso.opentextfile(server.mappath(filename),1)
ifnotf.AtEndofStreamthen
tempcnt=f.readall
f.close
setf=nothing
temparray=split(tempcnt,chr(13)&chr(10))
iflineNum>ubound(temparray)+1then
exitfunction
else
FSOlinedit=temparray(lineNum-1)
endif
endif
Endfunction

---检查绝对路径是否存在
FunctionCheckFolder(FolderPath)
dimfso1
Setfso1=CreateObject(Scripting.FileSystemObject)
Iffso1.FolderExists(FolderPath)then
存在
CheckFolder=True
Else
不存在
CheckFolder=False
Endif
Setfso1=nothing
EndFunction

---根据指定名称生成目录
FunctionMakeNewsDir(foldername)
dimfso1,f
Setfso1=CreateObject(Scripting.FileSystemObject)
Setf=fso1.CreateFolder(foldername)
MakeNewsDir=True
Setfso1=nothing
EndFunction

编码(日文字符)
FunctionJencode(byValiStr)
ifisnull(iStr)orisEmpty(iStr)then
Jencode=
Exitfunction
endif
dimF,i,E
E=array(Jn0;,Jn1;,Jn2;,Jn3;,Jn4;,Jn5;,Jn6;,Jn7;,Jn8;,Jn9;,Jn10;,Jn11;,Jn12;,Jn13;,Jn14;,Jn15;,Jn16;,Jn17;,Jn18;,Jn19;,Jn20;,Jn21;,Jn22;,Jn23;,Jn24;,Jn25;)
F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_
chr(-23118),chr(-23114),chr(-23112),chr(-23110),_
chr(-23099),chr(-23097),chr(-23095),chr(-23075),_
chr(-23079),chr(-23081),chr(-23085),chr(-23087),_
chr(-23052),chr(-23076),chr(-23078),chr(-23082),_
chr(-23084),chr(-23088),chr(-23102),chr(-23104),_
chr(-23106),chr(-23108))
Jencode=iStr
fori=0to25
Jencode=replace(Jencode,F(i),E(i))
next
EndFunction

解码(日文字符)
FunctionJuncode(byValiStr)
ifisnull(iStr)orisEmpty(iStr)then
Juncode=
Exitfunction
endif
dimF,i,E
E=array(Jn0;,Jn1;,Jn2;,Jn3;,Jn4;,Jn5;,Jn6;,Jn7;,Jn8;,Jn9;,Jn10;,Jn11;,Jn12;,Jn13;,Jn14;,Jn15;,Jn16;,Jn17;,Jn18;,Jn19;,Jn20;,Jn21;,Jn22;,Jn23;,Jn24;,Jn25;)
F=array(chr(-23116),chr(-23124),chr(-23122),chr(-23120),_
chr(-23118),chr(-23114),chr(-23112),chr(-23110),_
chr(-23099),chr(-23097),chr(-23095),chr(-23075),_
chr(-23079),chr(-23081),chr(-23085),chr(-23087),_
chr(-23052),chr(-23076),chr(-23078),chr(-23082),_
chr(-23084),chr(-23088),chr(-23102),chr(-23104),_
chr(-23106),chr(-23108))
Juncode=iStr
fori=0to25
Juncode=replace(Juncode,E(i),F(i))□
next
EndFunction
%>


1个是手动添加歌手:
addsinger.asp---手动添加歌手,内容如下:

程序代码
<%

╔=======================================╗
┆┆
┆@系统:7xi音乐采集系统Version2.0┆
┆@模块:手动添加歌手┆
┆@创建:2006/07/24┆
┆@作者:D.S.Fang┆
┆@联系:fangds@gmail.comQQ-3700909┆
┆@版权:源码公开,无任何版权问题,您可以┆
┆放心使用!!!尊重作者劳动成果,请┆
┆保留此信息!┆
┆┆
╚=======================================╝

%>
<!--#includefile=cfg.asp-->
<html>
<head>
<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/>
<metahttp-equiv=Content-Languagecontent=gb2312/>
<title>添加歌手分类_7xi音乐采集更新系统</title>
</head>
<body>
<br>7xi音乐采集更新系统<br><br>
<%
dimsql
dimsinger_name,singer_first_name,singer_sort

singer_name=IndbStr(request(singer_name))
singer_first_name=Ucase(IndbStr(request(singer_first_name)))
singer_sort=request(singer_sort)

response.write<br>歌手信息<br><br>姓名:&singer_name&<br>字母:&singer_first_name&<br>性质:&singer_sort

sql=insertintod_singer(singer_name,singer_first_name,singer_sort,is_down)values(&singer_name&,&singer_first_name&,&singer_sort&,0)
response.write<br><br>&sql
conn.execute(sql)
CloseConn()

---歌手添加完成后转入信息采集重新检测
response.write<br><br>歌手信息检查添加完成,正在准备检查获取更新...<br>
response.write<metahttp-equiv=refreshcontent=1;url=get.asp>
%>
</body>
</html>


2个是采集程序:
get.asp---采集歌手专辑歌曲信息,内容如下

程序代码
<%

╔=======================================╗
┆┆
┆@系统:7xi音乐采集系统Version2.0┆
┆@模块:歌手、专辑、歌曲信息采集┆
┆@创建:2006/07/24┆
┆@作者:D.S.Fang┆
┆@联系:fangds@gmail.comQQ-3700909┆
┆@版权:源码公开,无任何版权问题,您可以┆
┆放心使用!!!尊重作者劳动成果,请┆
┆保留此信息!┆
┆┆
╚=======================================╝

%>
<!--#includefile=cfg.asp-->
<html>
<head>
<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/>
<metahttp-equiv=Content-Languagecontent=gb2312/>
<title>歌手专辑歌曲信息采集_7xi音乐采集更新系统</title>
</head>
<body>
<br>7xi音乐采集更新系统<br><br>
<%
dimt7xiid,url,FolderPath,fso,fout
dimsongid(100),songname(100)
dimstrsinger,strlang,stralbum,strtime,strcorp,strcontent,strpicc,singerid,albumid
dimrssort,rssinger,rsalbum,rssong,i,m,sql,okimg

t7xiid=FSOlinedit(cfg_name,cfg_line)

url=v_7xialbum_url&v_&t7xiid&.htm

sethttpobj=server.createobject(paopao.http)

Err.Clear
onerrorresumenext

str=
str=httpobj.get(url)

ifstr=then
CloseConn()
ift7xiid<3198then---没有检测到时是否递增ID,继续检测
str=t7xiid+1
FolderPath=Server.MapPath(.\)
Setfso=Server.CreateObject(Scripting.FileSystemObject)
Setfout=fso.CreateTextFile(FolderPath&\cfg.txt)
fout.WriteLinestr
fout.close
response.write<br>当前ID号不存在,正在检查下一ID号...<br>
response.write<metahttp-equiv=refreshcontent=0;url=get.asp>
else---不需要递增ID检测时,转到歌曲信息采集
response.write<br>歌手专辑信息检查完毕,正在准备检查获取歌曲信息...<br>
response.write<metahttp-equiv=refreshcontent=0;url=getrm.asp>
response.end
endif
else
str0=split(str,歌手:)
str1=split(str0(1),</td>)
strsinger=IndbStr(str1(0))
response.write<br>歌手:&strsinger

str0=split(str,语种:)
str1=split(str0(1),</td>)
strlang=str1(0)
response.write<br>语种:&strlang

str0=split(str,专辑:)
str1=split(str0(1),</a>)
str2=split(str1(0),>)
stralbum=IndbStr(str2(1))
response.write<br>专辑:&stralbum

str0=split(str,时间:)
str1=split(str0(1),</td>)
strtime=str1(0)
response.write<br>时间:&strtime

str0=split(str,公司:)
str1=split(str0(1),</td>)
strcorp=str1(0)
response.write<br>公司:&strcorp

str0=split(str,<trvalign=top><tdcolspan=2>)
str1=split(str0(1),</td>)
strcontent=replace(replace(IndbStr(str1(0)),<br>,chr(13)),,)
response.write<br>简介:&strcontent

str0=split(str,<imgsrc=../picc/)
str1=split(str0(1),)
strpicc=str1(0)
response.write<br>图片:&strpicc
response.write<br><imgsrc=&v_7xipicc_url&strpicc&border=0>

setrssinger=conn.execute(select*fromd_singerwheresinger_name=&strsinger&)
---歌手信息不存在时需要手动添加歌手
ifrssinger.eofthen
response.write<br>select*fromd_singerwheresinger_name=&strsinger&
response.write<br><br>歌手不存在,需要手动操作添加。<br><br>请按以下要求添加歌手:<br><br>
%>
<formaction=addsinger.asp>
<inputtype=textsize=20name=singer_namevalue=<%=strsinger%>>
<inputtype=textsize=6name=singer_first_namevalue=姓maxlength=3>
<selectname=singer_sortsize=1><%%>
<%
setrssort=conn.execute(select*froms_sort)
dowhilenotrssort.eofandi<10
%>
<optionvalue=<%=rssort(id)%>><%=rssort(sort_name)%></option><%%>
<%
rssort.movenext
loop
rssort.close
setrssort=nothing
%></select>
<inputtype=submitvalue=添加>
</form>
<%
CloseConn()
response.end
else---歌手信息已存在,检查专辑信息是否需要入库
singerid=rssinger(id)
conn.execute(updated_singersetis_down=0whereid=&singerid)
response.write<br><br>歌手信息正确,正在检查获取专辑信息...<br>
setrsalbum=conn.execute(select*fromd_albumwherealbum_singer=&singerid&andalbum_name=&stralbum&)
ifrsalbum.eofthen
str1=split(strpicc,.)
str2=str1(0)
sql=insertintod_album(album_singer,file_img,album_name,album_lang,album_corp,album_time,album_intro,add_time,is_down,album_7xi)values(&singerid&,&strpicc&,&stralbum&,&strlang&,&strcorp&,&strtime&,&strcontent&,&now&,0,&t7xiid&)
conn.execute(sql)
---采集保存专辑缩略图
okimg=GetRemoteFiles(v_7xipicc_url&strpicc,picc_FolderPath,str2)
response.write<br>专辑信息检查添加完成,正在检查获取歌曲信息...&<br>SQL语句:&sql
else
response.write<br><br>专辑信息正确,正在准备检查获取歌曲信息...
endif
rsalbum.close
setrsalbum=nothing
endif
rssinger.close
setrssinger=nothing

setrsalbum=conn.execute(select*fromd_albumwherealbum_singer=&singerid&andalbum_name=&stralbum&)
albumid=rsalbum(id)
rsalbum.close
setrsalbum=nothing

response.write<br><br>专辑歌曲信息<br>

----歌曲ID
i=1
str0=split(str,<inputtype=&chr(34)&checkbox&chr(34)&name=&chr(34)&checked&chr(34)&value=&chr(34))
response.write<br>歌曲ID:
dowhilei<=Ubound(str0)
str1=split(str0(i),chr(34))
songid(i-1)=str1(0)
response.writesongid(i-1)&-
i=i+1
loop
response.write共&i&首。

---歌曲名称
m=1
str0=split(str,<ahref=../IVR.asp?id=)
response.write<br><br>歌曲:
dowhilem<=Ubound(str0)
str1=split(str0(m),><imgsrc=../images/mmsring1.gifalt=免费点歌)
songname(m-1)=Jencode(replace(str1(0),,))
response.writeJuncode(songname(m-1))&-
m=m+1
loop
response.write共&i&首。

---歌曲ID数目和歌曲名数目不一致时需要检查是否有误
ifi<>mthen
response.write<br><br><fontcolor=red><b>错误:</b>歌曲ID数目与歌曲名数目不一致,请检查目标页面:&url&</font>
response.end
endif

---检查歌曲是否需要入库
dowhilei>1
setrssong=conn.execute(select*fromd_mp3wheremp3_album=&albumid&andmp3_singer=&singerid&andmp3_name=&songname(i-2)&)
ifrssong.eofthen
sql=insertintod_mp3(mp3_7xi,mp3_singer,mp3_album,mp3_name)values(&songid(i-2)&,&singerid&,&albumid&,&songname(i-2)&)
conn.execute(sql)
response.write<br><fontcolor=red>添加:&songname(i-2)&</font>
response.writesql
else
response.write<br>跳过:&songname(i-2)
endif
rssong.close
setrssong=nothing
i=i-1
loop

CloseConn()

---记录下一检测ID号
str=t7xiid+1
FolderPath=Server.MapPath(.\)
Setfso=Server.CreateObject(Scripting.FileSystemObject)
Setfout=fso.CreateTextFile(FolderPath&\cfg.txt)
fout.WriteLinestr
fout.close

---继续检测下一ID
response.write<br>正在检测下一ID信息...
response.write<metahttp-equiv=refreshcontent=0;url=get.asp>
endif
%>
</body>
</html>


getrm.asp---采集RM文件更新歌曲信息,内容如下:

程序代码
<%

╔=======================================╗
┆┆
┆@系统:7xi音乐采集系统Version2.0┆
┆@模块:歌曲文件、歌词等信息采集┆
┆@创建:2006/07/24┆
┆@作者:D.S.Fang┆
┆@联系:fangds@gmail.comQQ-3700909┆
┆@版权:源码公开,无任何版权问题,您可以┆
┆放心使用!!!尊重作者劳动成果,请┆
┆保留此信息!┆
┆┆
╚=======================================╝

%>
<!--#includefile=cfg.asp-->
<html>
<head>
<metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/>
<metahttp-equiv=Content-Languagecontent=gb2312/>
<title>歌曲文件歌词等信息采集_7xi音乐采集更新系统</title>
</head>
<body>
<br>7xi音乐采集更新系统<br><br>
<%
dimgetcount,rssong,id,t7xiid,url,filerm,tmpurl,i,tmpfolder,okrm,singer,song,tmp_url,lyric,rs

---每次处理歌曲数量
getcount=5
setrssong=conn.execute(selecttop&getcount&a.*,b.singer_namefromd_mp3a,d_singerbwherea.mp3_singer=b.idanda.file_rmisnullorderbya.iddesc)

ifrssong.eofthen---歌曲信息处理完成
rssong.close
setrssong=nothing
CloseConn()
response.write<br>歌曲文件信息检查采集完成!
response.write<br><br>采集完了,可以做垃圾站了!
response.end
else
dowhilenotrssong.eof
id=rssong(id)
t7xiid=rssong(mp3_7xi)
singer=replace(rssong(singer_name),,%20)
song=replace(rssong(mp3_name),,%20)
response.write<br><br>歌曲名-&singer&-&song
---目标页面
url=v_7xiplay_url&t7xiid&.htm
sethttpobj=server.createobject(paopao.http)
Err.Clear
onerrorresumenext
response.write<br>&url
str=httpobj.get(url)
ifErr=0then---读取目标页面正常时的处理
----歌曲文件名及文件夹
str0=split(str,<paramname=srcvalue=&chr(34)&+s_list+&chr(34))
str1=split(str0(1),>)
filerm=str1(0)
response.write<br>文件名-&filerm
tmpurl=v_7ximp3_url&filerm
response.write<br>目标源-&tmpurl
---需要保存音乐文件到本地时,采集保存音乐文件
ifis_getrmthen
str0=split(filerm,/)
i=0
dowhilei<Ubound(str0)
tmpfolder=mp3_FolderPath&str0(i)
ifnotCheckFolder(tmpfolder)thenMakeNewsDirtmpfolder
i=i+1
loop
response.write<br>保存为-&tmpfolder&\&str0(Ubound(str0))
okrm=GetRemoteFiles(tmpurl,tmpfolder,replace(str0(Ubound(str0)),.rm,))
else
response.write<br><fontcolor=red>请注意-</font>RM文件配置为不保存!!!!!!!!!!
endif

---歌词采集
tmp_url=
response.write<br>&tmp_url
sethttpobj=server.createobject(paopao.http)
str0=httpobj.get(tmp_url)
Err.Clear
onerrorresumenext
str1=split(str0,<tdwidth=92%>&chr(13))
str2=split(str1(1),</td>)
lyric=str2(0)
lyric=replace(lyric,<br>,chr(13))
lyric=replace(lyric,,)
lyric=replace(replace(lyric,<p>,),</p>,)
lyric=IndbStr(trim(lyric))
ifInstr(lyric,mp3.baidu.com)thenlyric=暂时还没歌词

iflen(lyric)<20orErr<>0then
lyric=暂时还没歌词
response.write<br>7xi自带歌词不完整,将采集baidu歌词
endif

iflyric=暂时还没歌词then
Err.Clear
tmp_url=
response.write<br>&tmp_url
str0=httpobj.get(tmp_url)
str1=split(str0,<B><fontstyle=color:#e10900>&song&</font></B>)
ifUbound(str1)>=1then
str2=split(str0,<divstyle=padding-left:10px;line-height:20px;padding-top:1px>)
str3=split(str2(1),</div>)
lyric=str3(0)
lyric=replace(lyric,<br>,chr(13))
lyric=replace(lyric,,)
lyric=replace(lyric,<fontstyle=color:#e10900>,)
lyric=replace(lyric,</font>,)
else
lyric=暂时还没歌词
endif
endif

response.write<br>歌词-&lyric

---将采集到的信息更新到数据库
ifis_getrmthen
conn.execute(updated_mp3setfile_rm=&filerm&,mp3_lyric=&lyric&,is_down=1whereid=&id)
else
conn.execute(updated_mp3setfile_rm=&filerm&,mp3_lyric=&lyric&,is_down=0whereid=&id)
endif
else---读取目标页面出错时的处理
conn.execute(updated_mp3_tsetfile_rm=nourl,is_down=1whereid=&id)
response.write<br><br><fontcolor=red><b>错误:</b>获取目标页面错误,请检查:&url&</font>
response.end
endif
rssong.movenext
loop
rssong.close
setrssong=nothing
CloseConn()

---继续检测采集下一批歌曲信息
response.write<br>正在检测下一批歌曲信息...<br><br>
response.write<metahttp-equiv=refreshcontent=0;url=getrm.asp>
endif
%>
</body>
</html>


数据库表的SQL脚本:
数据库表

程序代码
s_sort----歌手分类表

ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[s_sort])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[s_sort]
GO

CreateTABLE[dbo].[s_sort](
[ID][int]IDENTITY(1,1)NOTNULL,
[sort_name][nvarchar](20)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO

AlterTABLE[dbo].[s_sort]WITHNOCHECKADD
CONSTRAINT[PK_s_sort]PRIMARYKEYCLUSTERED
(
[ID]
)ON[PRIMARY]
GO




d_singer----歌手信息表

ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[d_singer])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[d_singer]
GO

CreateTABLE[dbo].[d_singer](
[ID][int]IDENTITY(1,1)NOTNULL,
[singer_name][nvarchar](255)COLLATEChinese_PRC_CI_ASNULL,
[singer_first_name][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
[singer_sort][int]NULL,
[mp3_num][int]NULL,
[is_putup][bit]NULL,
[view_count][int]NULL,
[is_down][bit]NULL
)ON[PRIMARY]
GO

AlterTABLE[dbo].[d_singer]WITHNOCHECKADD
CONSTRAINT[PK_d_singer]PRIMARYKEYCLUSTERED
(
[ID]
)ON[PRIMARY]
GO



d_album----专辑信息表

ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[d_album])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[d_album]
GO

CreateTABLE[dbo].[d_album](
[ID][int]IDENTITY(1,1)NOTNULL,
[album_singer][int]NULL,
[file_img][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,
[album_name][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,
[album_lang][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,
[album_corp][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,
[album_time][nvarchar](100)COLLATEChinese_PRC_CI_ASNULL,
[album_intro][ntext]COLLATEChinese_PRC_CI_ASNULL,
[is_singer_album][bit]NULL,
[view_count][int]NULL,
[is_putup][bit]NULL,
[add_time][datetime]NULL,
[album_7xi][int]NULL,
[is_down][bit]NULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
GO

AlterTABLE[dbo].[d_album]WITHNOCHECKADD
CONSTRAINT[PK_d_album]PRIMARYKEYCLUSTERED
(
[ID]
)ON[PRIMARY]
GO




d_mp3----歌曲信息表

ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[d_mp3])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[dbo].[d_mp3]
GO

CreateTABLE[dbo].[d_mp3](
[ID][int]IDENTITY(1,1)NOTNULL,
[mp3_name][varchar](200)COLLATEChinese_PRC_CI_ASNULL,
[mp3_album][int]NULL,
[mp3_singer][int]NULL,
[file_rm][varchar](100)COLLATEChinese_PRC_CI_ASNULL,
[file_size][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[is_putup][bit]NULL,
[mp3_lyric][varchar](5000)COLLATEChinese_PRC_CI_ASNULL,
[view_count][int]NULL,
[down_count][int]NULL,
[is_my][bit]NULL,
[mp3_7xi][int]NULL,
[is_down][varchar](2)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO

AlterTABLE[dbo].[d_mp3]WITHNOCHECKADD
CONSTRAINT[PK_d_mp3]PRIMARYKEYCLUSTERED
(
[ID]
)ON[PRIMARY]
GO


评论


亲,登录后才可以留言!