C++程序员学习用C#写网站(二)

一名编程新手记录了自己连续两天使用ASP.NET进行开发的经历,包括搭建开发环境、创建用户登录功能、处理数据库连接等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



第4天、继续写代码......
我要写用户登录,好,先写个User类。用vs的右键菜单,“添加新项”-->"类"-->设置好文件名然后“确定”,提示说什么要加个App_Code文件夹,百度一下,不是很明白,但是有人说不用App_Code,就会找不到自己写的类......,好吧,取消,右键菜单,“添加ASP.NET文件夹”-->App_Code,创建出来,在App_Code下面创建个子文件夹,旧代码里面叫“Module”,这里也叫“Module”,然后在他下面添加一个User.cs,在User类里面添加个静态方法Login(stirng Name, string Password)。
实现Login方法:先写好SQL语句,string SQL="select * from tbl_User"。啊,我还没有数据库呀,找到一个SQL Server(公司有现成的服务器),在上面建了一TestDB,创建一个tbl_User表。然后要Insert一条超级管理员信息,直接在数据库上Insert,报错“从字符串转换日期和/或时间时,转化失败”,tbl_User表有一个Birthday字段,我用了date类型,各种搞,搞不定,心里那个着急上火,把以前的同学在QQ上问来问去......,最终发现了问题,tbl_User表还有个LastLoginDateTime字段,是datetime类型,我insert了一个“尚未登录”......,不论如何,问题解决,数据插进去了大笑


一天又结束了,过得好快,其实也做了很多事情。


第5天、
 看到原来代码是每次需要的时候创建一个数据库操作类实例,从web.config里面读取数据库连接字符串,然后使用。我就想,连接字符串写成静态属性不得了,这种数据也不会频繁改动,但是信息是加了密的,在什么地方读取并解密呢?印象里头有个Global.asax,百度一下先。baidu之后感觉能做,就用Global.asax吧。右键菜单“添加新项”,找了半天,没有Global.asax,这怎么添加呢?baidu,原来是“全局应用程序类”。好累啊,不过还好弄成了。接着修改web.config,把"<appSettings/>"替换成下面的代码:
<appSettings>
    <!--数据库设置Start-->
    <add key="ControlWebSite" value="server=192.168.10.11;database=TestDB;uid=sa;pwd=123456;"/>
    <!--数据库设置End-->
</appSettings>
然后在Global.asax的Application_Start里写上
string strConnect = ConfigurationManager.AppSettings["ControlWebSite"];
又有问题了......,我想把读到的信息打出了,是怎么做呢?baidu......,用System.Diagnostics.Debug.Write(strConnect);
F5,嗯,连接字符串打出来了,我又把内容改了下,再试一次,打出来了和前次不同,程序起作用了。先用明文,加解密的事情以后再说吧。

接着要实现连接查询,以前用ADO的经验告诉我连接对象要认真管理,csdn站内搜索,这篇文章很不错:http://blog.youkuaiyun.com/dahaizhiliang/article/details/8625772;抄啊!抄了半天,完成了返回一个dr的代码,怎样取得dr的字段值来付给User对象呢?又要baidu,baidu真心有用处。好多问题啊。我的Birthday是个date类型字段,C#利用什么类型对应呢?要给类添加属性,原来的代码写法都是private int _intAge,我想写成private int _Age;然后set,get什么时候可以简写呢?看了些帖子,头昏脑涨,结果决定老老实实的全手写。new User对象的时候需不需要考虑内存不足呢?看大家的代码都是不考虑的,但......,我还是把所有new操作都try,catch住吧。


一天又完了哦......,今天也做了不少事情呢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值