我这个是 .net 同步注册到.net 的 discuz! 里面去 详细的细节还是要自己去研究 的 把用户数据库看几遍 用Visio 把表到如 就看的到关系了
研究把 呵呵
/// <summary>
/// 同步注册
/// </summary>
/// <param name="username">帐号</param>
/// <param name="gender">性别</param>
/// <param name="nickname">昵称</param>
/// <param name="password">密码(未加密)</param>
/// <param name="groupid">会员隶属组</param>
/// <param name="email">邮箱</param>
/// <param name="regip">注册IP</param>
/// <param name="qq">QQ号</param>
/// <param name="msn">MSN</param>
/// <returns>是否注册成功</returns>
public static bool Register(string username, int gender, string nickname, string password, int groupid, string email, string regip, string qq, string msn)
{
return IDC.Register(username, gender, nickname, password, groupid, email, regip, qq, msn);
}
-----------------------------
public bool Register(string username, int gender, string nickname, string password, int groupid, string email, string regip, string qq, string msn)
{
object[,] parsBBS = new object[2, 7] {
{ "@username","@gender","@nickname","@password","@groupid","@email","@lastip" },
{ username, gender, nickname, Motion.DZ.Command.Md5(password), groupid, email, regip } };
int LastId; if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS,
String.Format("insert into [{0}users] (username,gender,nickname,password,groupid,email,regip) values (@username,@gender,@nickname,@password,@groupid,@email,@lastip)", Motion.DZ.Command.RC.Tableprefix), false, out LastId) <= 0)
{
return false;
} object lid;
if (LastId <= 0)
{
lid = Motion.DZ.Command.DBC.vExecuteScalar(String.Format("select top 1 uid from [{0}users] order by uid desc", Motion.DZ.Command.RC.Tableprefix));
}
else
{
lid = LastId;
} parsBBS = new object[2, 3] {
{ "@uid", "@qq", "@msn" },
{ lid, qq, msn } };
if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("insert into [{0}userfields] (uid, qq, msn) values (@uid, @qq, @msn)", Motion.DZ.Command.RC.Tableprefix), false) <= 0)
{
Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("delete from [{0}users] where uid={1}", Motion.DZ.Command.RC.Tableprefix, LastId));
return false;
} parsBBS = new object[2, 2] { { "@username", "@userid" }, { username, lid } };
Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("update [{0}statistics] set totalusers=totalusers+1, lastusername=@username, lastuserid=@userid", Motion.DZ.Command.RC.Tableprefix), false);
return true;
}
-----------------------同步登陆public override bool Login(string username, string password, int expDays, bool inVisisble, string reFerer)
{
string Sql = String.Format("select top 1 tpp,ppp,pmsound,invisible,sigstatus,uid from [{1}users] where username='{0}'", username, Motion.DZ.Command.RC.Tableprefix);
System.Data.DataTable myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0)
{
Motion.DZ.Command.Register(username, 0, String.Empty, password, 11, String.Empty);
myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
}
GetUserInfo userinfo = new GetUserInfo(myDt);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0) return false; Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("UPDATE [{0}users] SET [lastvisit]=Now(), [lastip]='{2}' WHERE [username]='{1}'", Motion.DZ.Command.RC.Tableprefix, username, Motion.DZ.Command.RC.UserIP)); return Motion.DZ.Command.WriteLoginCookie(userinfo, inVisisble, reFerer, expDays, password); }
研究把 呵呵
/// <summary>
/// 同步注册
/// </summary>
/// <param name="username">帐号</param>
/// <param name="gender">性别</param>
/// <param name="nickname">昵称</param>
/// <param name="password">密码(未加密)</param>
/// <param name="groupid">会员隶属组</param>
/// <param name="email">邮箱</param>
/// <param name="regip">注册IP</param>
/// <param name="qq">QQ号</param>
/// <param name="msn">MSN</param>
/// <returns>是否注册成功</returns>
public static bool Register(string username, int gender, string nickname, string password, int groupid, string email, string regip, string qq, string msn)
{
return IDC.Register(username, gender, nickname, password, groupid, email, regip, qq, msn);
}
-----------------------------
public bool Register(string username, int gender, string nickname, string password, int groupid, string email, string regip, string qq, string msn)
{
object[,] parsBBS = new object[2, 7] {
{ "@username","@gender","@nickname","@password","@groupid","@email","@lastip" },
{ username, gender, nickname, Motion.DZ.Command.Md5(password), groupid, email, regip } };
int LastId; if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS,
String.Format("insert into [{0}users] (username,gender,nickname,password,groupid,email,regip) values (@username,@gender,@nickname,@password,@groupid,@email,@lastip)", Motion.DZ.Command.RC.Tableprefix), false, out LastId) <= 0)
{
return false;
} object lid;
if (LastId <= 0)
{
lid = Motion.DZ.Command.DBC.vExecuteScalar(String.Format("select top 1 uid from [{0}users] order by uid desc", Motion.DZ.Command.RC.Tableprefix));
}
else
{
lid = LastId;
} parsBBS = new object[2, 3] {
{ "@uid", "@qq", "@msn" },
{ lid, qq, msn } };
if (Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("insert into [{0}userfields] (uid, qq, msn) values (@uid, @qq, @msn)", Motion.DZ.Command.RC.Tableprefix), false) <= 0)
{
Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("delete from [{0}users] where uid={1}", Motion.DZ.Command.RC.Tableprefix, LastId));
return false;
} parsBBS = new object[2, 2] { { "@username", "@userid" }, { username, lid } };
Motion.DZ.Command.DBC.vExecuteNonQuery(parsBBS, String.Format("update [{0}statistics] set totalusers=totalusers+1, lastusername=@username, lastuserid=@userid", Motion.DZ.Command.RC.Tableprefix), false);
return true;
}
-----------------------同步登陆public override bool Login(string username, string password, int expDays, bool inVisisble, string reFerer)
{
string Sql = String.Format("select top 1 tpp,ppp,pmsound,invisible,sigstatus,uid from [{1}users] where username='{0}'", username, Motion.DZ.Command.RC.Tableprefix);
System.Data.DataTable myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0)
{
Motion.DZ.Command.Register(username, 0, String.Empty, password, 11, String.Empty);
myDt = Motion.DZ.Command.DBC.vDataTable(Sql);
}
GetUserInfo userinfo = new GetUserInfo(myDt);
if (Object.Equals(myDt, null) || myDt.Rows.Count <= 0) return false; Motion.DZ.Command.DBC.vExecuteNonQuery(String.Format("UPDATE [{0}users] SET [lastvisit]=Now(), [lastip]='{2}' WHERE [username]='{1}'", Motion.DZ.Command.RC.Tableprefix, username, Motion.DZ.Command.RC.UserIP)); return Motion.DZ.Command.WriteLoginCookie(userinfo, inVisisble, reFerer, expDays, password); }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货