开发者社区> 吞吞吐吐的> 正文

web-QQ(腾讯)-Account-QQ多账号登录-数据库设计

简介:
+关注继续查看

专题图ylbtech-asp.net编号:ylbtechASPNET

1,功能描述

 ver1.0 QQ多账号登录。两种账号形式,1,数字;2,邮箱。

2,技术与环境

 

3,数据库设计
3.1  /App_Data/basic-sql.sql
复制代码
-- =============================================
-- 多账号登录
-- author:YUANBO
-- development time:2011-9-20
-- =============================================
USE master
GO
-- Drop the database if it already exists
IF  EXISTS (
    SELECT name
        FROM sys.databases 
        WHERE name = N'Duo'
)
DROP DATABASE Duo
GO
CREATE DATABASE Duo
GO
use Duo
go
-- =============================================
-- 用户
-- =============================================
create table Users
(
UserID int identity(2000,1) primary key,    --编号
Email varchar(200), --邮箱
Username varchar(20) not null,          --昵称
Userpass varchar(20) not null   --密码
)
go
select UserID,Email,Username,Userpass from Users;
复制代码

3.2  /App_Data/Select/1, Users.sql

复制代码
Use Duo
go
-- =============================================
-- 多用户表的操作
-- =============================================
go
--注册
----a)QQ号码
insert Users(Username,Userpass) values('ylb','123');
select @@IDENTITY;
go
----b)Email帐号
        --先判断该Email帐号,是否被注册
select COUNT(*) from Users where Email='ylb@qq.com';
        ----1)有,则提示:该帐号已存在,请换其他帐号
        ----2)无,则进行注册
insert Users(Email,Username,Userpass) values('ylb@qq.com','yb','123');
select @@IDENTITY;

go

--登录
---P:如何去判断用户输入的帐号是QQ号码或者是Email帐号
---A:第一方法,int.TryParse 尝试这去强转为整型
---A:第二种方法,看账号中是否存在'.'或者'@'
go
--QQ号码
select COUNT(*) from Users where UserID='2000' and Userpass='123';
go
--Email帐号
select COUNT(*) from Users where Email='ylb@qq.com' and Userpass='123';
--select * from Users;
复制代码
4,功能截图
4.1,

4.2,

4.3,

4.4,

 
5,代码分析

 解决方案属性图

 5.1  /Signin.aspx.cs

复制代码
using System;

public partial class Signin : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //登录
        int userID;
        if (int.TryParse(txtID.Text, out userID))
        {
            //QQ号码登录
            if (UsersOper.ExistsUserQQ(userID, txtUserpass.Text))
            {
                lblState.Text = "登陆成功!";
            }
            else
            {
                lblState.Text = "用户名或密码有误!";
            }
        }
        else
        {
            //Email帐号登录
            if (UsersOper.ExistsUserEmail(txtID.Text, txtUserpass.Text))
            {
                lblState.Text = "登陆成功!";
            }
            else
            {
                lblState.Text = "用户名或密码有误!";
            }
        }
    }
}
复制代码

 

6,示例|讲解案例下载

博客园讲解:  http://ylbtech.cnblogs.com/

百度文库开发文档: http://passport.baidu.com/?business&aid=6&un=ylbtech#7

谷歌开源代码下载: http://code.google.com/p/ylbtechopensource/downloads/list

请单击“ver1.0 QQ多账号登录”


本文转自ylbtech博客园博客,原文链接:http://www.cnblogs.com/ylbtech/archive/2012/09/06/2673834.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
细谈友邦人寿如何从传统数据库实现最佳上云
本篇内容将从3个部分为读者介绍关于友邦人寿从传统数据库迁移上云的实践,进一步介绍友邦人寿在传统IT基础设施的现状和挑战、迁移上云的过程及未来的演进和展望。
99 0
LintCode 题解丨面试真题:两数之和 III-数据结构设计
LintCode 题解丨面试真题:两数之和 III-数据结构设计
200 0
html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计
序:通常我们只能控制div的宽度 而不能控制高度,在响应式页面里 如果要这个div是正方形那么必须的用媒体查询在不同的分辨率下写死宽高度 今天突发奇想研究了个 用百分比来动态控制div的高度让其与宽度相同 成为一个正方形 甚至任何你想要比例 一,背景:目前移动端大多数图片或视频列表页面的显示,列出...
1057 0
4852
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载