数据恢复 信息安全 电子取证

关于作者

网络推荐

QQ程序-QQ数据库详解-qq聊天记录数据恢复

上一篇 / 下一篇  2009-07-15 11:38:17

QQ程序-QQ数据库详解
 

1. admin 管理员表 username(char) 管理员名 userpass(char) 管理员密码

2. ArcReview 评论表 iRevId(int) 主键ID tRevText(text)评论的内容

iArtId(int)评论的文章cPubNum(char)

3.Art文章表iArtId(int) 文章ID iBrowseCount(int)浏览次数tArtContent(text)文章内容

cPubTime(char)发表时间iModeId(int) 模板id vcArtName(varchar)文章标题

4.ArtModule 模板表 iModeId(int) 模板id cZoneOwner(char)谁的空间vcModeName(varchar) 模板标题

5.collection 我的收藏 c_id(int)收藏id c_title(varchar)收藏标题 c_content(text)收藏内容

hits(点击次数)c_time(收藏时间)

6.FriendList 好友表iFriendId(int)ID标识cFriendNum(char)好友QQ号 iGroupId(int)好友分组

cQQNum(char) QQ号

7.GroupInf 分组表iGroupId(int) ID标识 cGroupName(char)分组名称 GroupOwner(int)QQ

8.guest 用户资料表 id(int)标识 name(char)用户名 face(char)头像 oicq(char)QQ号码

email(char)email url(char)主页空间地址 ly(varchar)个性签名 re(varchar)个人说明

rtime(datetime)修改时间 title(char)

9.LeaveWord小纸条iLeaveId(int)标识id tLeaveText(text)内容cUserId(char)用户

10.newid(int)标识 title(varchar)标题 content(text)内容 hits(int)点击次数

newtime(datetime)发表时间

11.UserInf 用户表cUserName(char)用户昵称 cQQNum(char) QQ号码 vaEmail(varchar)email

irank(int) vcUserHeader(varchar)头像 cSex(性别) vcQuserPwd(varchar)用户密码

12. ZoneAndLeave 收到纸条 cZoneOwner(char)空间所有者 iLeaveId(int)纸条id

13. ZoneInf 空间表 cZoneOwner(char)空间所有者 vcZoneName(varchar)空间名称

vcZoneBgImg(varchar)空间背景图片 vsBgSound(varchar)空间背景音乐

tZoneDes(text)空间个性说明iStyId(int)样式

14.ZoneStyle空间样式iStyId(int)标识idvcFileUrl(varchar)样式地址

cStyleName(char)样式名称

各表存在的关系

ArcReview的iArtId和Art的iArtId

Art的iModeId和ArtModule的iModeId

ArtModule的cZoneOwner和ZoneInf的cZoneOwner

FriendList的cQQNum和UserInf的cQQNum

FriendList的iGroupId和GroupInf的iGroupId

ZoneAndLeave的iLeaveId和LeaveWord的iLeaveId

ZoneAndLeave的cZoneOwner和ZoneInf的cZoneOwner

UserInf的cQQNum和ZoneInf的cZoneOwner

ZoneInf的iStyId和ZoneStyle的iStyId

视图

GetAllUser察看所有用户昵称和QQ号码

create view GetAllUser
as
select cUserName,cQQNum from UserInf

viGetStyleList参看QQ空间样式信息

create view viGetStyleList
as
select iStyId,cStyleName from ZoneStyle

设置存储过程

AddFriend 添加好友

CREATE proc AddFriend
(
@Owner char(8),--QQ号
@FriendNumber char(8),--好友QQ号
@GroupId int,--分组类别
@result int output--输出参数,0代表添加成功,-1,1代表失败
)
as
begin
if @GroupId=-1
begin
select @GroupId=iGroupId from GroupInf whereGroupOwner=@Ownerand cGroupName='我的好友'
end
if exists(select * from UserInf wherecQQNum=@FriendNumber)--查询是否有该用户
begin
if exists(select * from FriendList wherecQQNum=@OwnerandcFriendNum=@FriendNumber)
begin
set @result=1--该条纪录已经存在
end
else
begin
insert into FriendList(cQQNum,cFriendNum,iGroupId) values(@Owner,@FriendNumber,@GroupId)
set @result=0--添加纪录成功
end
end
else
begin
set @result=-1--要添加的好友不存在
end
end
GO

AddNewArt 添加文章

create proc AddNewArt
(
@ModeId int,--模板
@ArtName varchar(20), --文章标题
@ArtContent text,--文章内容
@PubTime char(10)--发表时间
)
as
begin
insert into Art(iBrowseCount,tArtContent,cPubTime,iModeId,vcArtName) values(0,@ArtContent,@PubTime,@ModeId,@ArtName) --初始浏览次数为0
end

GO

AddNewGroup 添加新的分组

create proc AddNewGroup
(
@GroupOwner char(8),--分组所有者,QQ号
@GroupName char(10),--分组名称
@Result int output--输出参数 1成功 -1失败
)
as
begin--分组是否已经存在
if exists(select * from GroupInf wherecGroupName=@GroupNameandGroupOwner=@GroupOwner)
begin
set @Result=-1
end
else
begin
insert into GroupInf(GroupOwner,cGroupName) values(@GroupOwner,@GroupName) --添加分组
set @Result=1
end
end

GO

ChangeFriGroup改变好友所属的分组

CREATE proc ChangeFriGroup
(
@FriendId int,--好友id标识
@DestiGroup int--目的分组
)
as
begin
if @DestiGroup=-1
begin
declare @tempGroupId int,@tempUserId char(8) --添加新的自定义参数我的好友分组ID,我的QQ号
select @tempUserId=cQQNum from FriendList whereiFriendId=@FriendId--我的QQ号
select @tempGroupId=iGroupId from GroupInf whereGroupOwner=@tempUserIdand cGroupName='我的好友' --获取我的QQ号中 我的好友的ID
update FriendList setiGroupId=@tempGroupIdwhereiFriendId=@FriendId--修改好友表的分组
end
else
begin
update FriendList setiGroupId=@DestiGroupwhereiFriendId=@FriendId--改变到新的分组
end
end
GO

CreateGroup创建新的分组

create proc CreateGroup
(
@GroupOwner char(8),--分组所有者 QQ
@GroupName char(10)--分组名称
)
as
begin
insert into GroupInf(cGroupName,GroupOwner) values(@GroupName,@GroupOwner)
end


GO

DelGroupName 删除用户分组

create proc DelGroupName

(
@GroupId int--分组的id标识
)
as
begin
declare @tempId int--获取'我的好友'的 分组标识
declare @tempUser char(8) --该分组的用户QQ
select @tempUser=GroupOwner from GroupInf whereiGroupId=@GroupId--获取该用户
select @tempId=iGroupId from GroupInf whereGroupOwner=@tempUserand cGroupName='我的好友'
update FriendList setiGroupId=@tempIdwhereiGroupId=@GroupId

--将该分组下面的好友转到'我的好友'分组下面
delete GroupInf whereiGroupId=@GroupId--删除该分组
end


GO

DelThisFriend 删除指定好友

create proc DelThisFriend
(
@FriendId int
)
as
begin
delete FriendList whereiFriendId=@FriendId
end

GO

GetArtList获取文章列表

create proc GetArtList

(
@Model int,--0:获取前面10条记录否则获取全部记录
@ModeId int,--模板ID
@ModeOwner char(8) --该模板所属的QQ空间
)
as
begin
if @Model=0
begin
select top 10 iArtId,vcArtName,cPubTime from Art,ArtModule where Art.iModeId=ArtModule.iModeId andArtModule.cZoneOwner=@ModeOwnerorder by cPubTime desc
end
else
begin
select iArtId,vcArtName,cPubTime from Art whereiModeId=@ModeIdorder by cPubTime desc
end
end

GO


数据恢复 信息安全 电子取证

TAG: 数据库 详解 程序

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)