黑马程序员技术交流社区
标题:
关于三层架构的问题,求学习...
[打印本页]
作者:
韦俊琳
时间:
2013-4-23 10:30
标题:
关于三层架构的问题,求学习...
本帖最后由 韦俊琳 于 2013-4-23 10:35 编辑
问题1:在三层架构的用户注册和邮箱验证模块中,我首先要将用户注册的Name,Password等几个字段添加到Users表中,用户的ID在数据表中定义为自增。然后添加无异常后再给用户分配响应码
//创建用户Model
Model.Users model = new Model.Users();
model.Name = this.txtUser.Text;
model.Password = this.txtPwd.Text;
model.Email = this.txtEmail.Text;
//创建用户BLL
BLL.Users bll = new BLL.Users();
//添加进数据库,不考虑插入异常
bll.Add(model);
//分配响应码
string activecode = Guid.NewGuid().ToString().Substring(0,8);
model.ActiveCode = activecode;
model.Actived = "false";
bll.Update(model);
int id = model.ID;
//通过ID获取该用户Model
BLL.Users bll2 = new BLL.T_buyer();
Model.Users model2 = bll2.GetModel(id);
复制代码
结果是从Update开始执行无效(没报错),也获取不到id,不知道上述哪个步骤有问题,求学习!
问题2:在发送给用户的验证邮件中,用StringBuilder拼接出URL的问题:
StringBuilder builder =new StringBuilder();
builder.Append("<a href='http://localhost:8963/ashx/Active.ashx?activeCode=" + activeCode + "&id=" + id + "'>
复制代码
这样拼不知道对不对,不知道正确的拼法和原理,求教。。。
作者:
许庭洲
时间:
2013-4-23 21:11
1. 如果有大量字符串操作,这么做肯定是很消耗内存的.并且效率低下,所以StringBuilder出现能解决该问题;
2. StringBuilder 有Append和Remove等函数来实现拼接和删除字符串.在操作字符串的时候,他不会再重新实例化一个类,这样可以节省内存,提高效率;
3. 当new一个StringBuilder时就会划分一块内存给StringBuilder实例使用, 当你Append操作时并不会重新分配内存 除非你的新字符串长度超过了StringBuilder实例的默认大小才会重新分配内存。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2