1,功能描述

   仿QQ说说(即原来的滔滔)。1,用户模块。2,好友添加|移除。3,我的说说|我的说说的和好友的说说。

2,技术与环境


 ASP.net+SQLServer


3,数据库设计

3.1,  /App_Data/sql-basic.sql


-- =============================================

-- ylb:1,仿QQ-说说

-- author:YUANBO

-- development time:2011-8-3

-- =============================================

USE master

GO



-- Drop the database if it already exists

IF EXISTS (

SELECT name

FROM sys.databases

WHERE name = N'QQ_TaoTao'

)

DROP DATABASE QQ_TaoTao

GO



CREATE DATABASE QQ_TaoTao

GO

use QQ_TaoTao

go

-- =============================================

-- ylb:2,用户

-- =============================================

create table Users

(

UserID int identity(2000,1) primary key, --编号

Username varchar(20) not null, --昵称

Userpass varchar(20) not null --密码

)

go

-- =============================================

-- ylb:3,我的好友列表

-- =============================================

-- =============================================

-- ylb:3_1,好友表(关注)

-- =============================================

create table Attending

(

AttendingID int, --关注用户ID

UserID int foreign key references Users(UserID) not null,--用户ID

)

go

-- =============================================

-- ylb:3_2,好友表(被关注)

-- =============================================

create table Attended

(

AttendedID int, --关注用户ID

UserID int foreign key references Users(UserID) not null,--用户ID

)

-- =============================================

-- ylb:4,说说

-- =============================================

create table TaoTao

(

TaoTaoID int identity(1,1) primary key, --编号

Content varchar(500) not null, --内容

Pubdate datetime default(getdate()), --发布时间

Source varchar(50), --信息发布工具

Model varchar(50) default(0), --说说(TaoTao),评论(Comment),转发(Forward)

BaseID int default(0), --说说编号基类

UserID int foreign key references Users(UserID) --用户编号

)

go


3.2,  /App_Data/Select/1, Users.sql  【略,请参考上一篇博文】

3.3,  /App_Data/Select/2, Attend.sql

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_sqlweb-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_ASP.NET_02View Code

use QQ_TaoTao
go
-- =============================================
-- ylb:对用户好友的操作与方法步骤
-- =============================================
go
--1,产所有的好友
select UserID,Username from Users;

--2,添加好友
insert into Attending(AttendingID,UserID) values(2000,2001);
insert into Attended(AttendedID,UserID) values(2001,2000);

--3,我的和我的好友
select UserID,Username from Users
where UserID in(select AttendingID from Attending where UserID=2000) or UserID=2000;

--4,删除我的好友
delete Attending where AttendingID=2000 and UserID=2001;
delete Attended where AttendedID=2001 and UserID=2000;


 3.3,  /App_Data/Select/2, TaoTao.sql

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_sqlweb-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_ASP.NET_02View Code

use QQ_TaoTao
go
-- =============================================
-- 对说说表的操作与方法步骤
-- =============================================
go
--1,发布说说
insert into TaoTao(Content,Source,Model,BaseID,UserID) values('I miss you a lot.','手机QQ','TaoTao',0,2000);
select * from TaoTao;


--2,查看自己的说说
select TaoTaoID,Content,Pubdate,Source,Model,BaseID,Username from TaoTao t inner join Users u
on t.UserID=u.UserID
where u.UserID=2000 and BaseID=0;

--2,查看我的好友的说说
select TaoTaoID,Content,Pubdate,Source,Model,BaseID,Username from TaoTao t inner join Users u
on t.UserID=u.UserID
where u.UserID in(select AttendingID from Attending where UserID=2000) or u.UserID=2000;

--3, 删除一条说说
delete TaoTao where TaoTaoID=1;


--4,统计用户发表的说说总数
select COUNT(*) from TaoTao where UserID=2000;


4,功能截图


4.1,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_ASP.NET_05


4.2,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_QQ说说_06


4.3,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_ASP.NET_07


4.4,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_QQ说说_08


4.5,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_QQ说说_09


4.6,

web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_sql_10


5,代码分析


 解决方案属性图


web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_QQ说说_11 

6,示例|讲解案例下载


web-QQ(腾讯)-Qzone-TaoTao(QQ说说即原来的滔滔))_javascript_12

作者:​​ylbtech​