现在的位置: 首页 > 综合 > 正文

代号BoLu项目开发日志

2013年10月19日 ⁄ 综合 ⁄ 共 2714字 ⁄ 字号 评论关闭

序:

我的好哥们Li应朋友之邀,要写一个.net的b/s系统。我从开始学习.net有2年了,这期间知识过一些书,并没有系统研究过.net,更没有.ne的项目开发经验。正好借此机会向我的这位.net高手哥们学习一下,也算帮帮他小忙。一下将会是我们两个人的开发的全过程日志。我们平时工作没有时间,只会用下班和周休开发,因此进度不会太快,但项目很小,1个多月就完成。希望这个过程中,.net能成为我的朋友。也希望我的读者能有收获。

4月23日:

经过三天的需求分析和基本设计,开发团队的全部成员--我和Li有了基本的想法。Li用visio做出网页分布图,我按照此前的设计用word写好数据库中表的设计。接下来Li写表之间的关系。这是第一个我没做过的地方。接着,我们开始写存储过程,这里有一些我不太熟悉的地方。Li的机器做cvs服务器,我的是SQL Server的服务器。我们各自写完后,用cvs管理,Li将这些东西倒入数据库。

到此我们关于数据库后台的工作完成了第一阶段,以后会在开发过程中对其进行修改,但改动不会太大了。

完成数据库的设计和编码,接下来Li写了一个中间件的类用作连接数据库和调用类/调用页面。这个类是我的第二个位置点。

下面要对首日开发中遇到的两个知识点作一下总结:
1表之间的关系
设置主键:
ALTER TABLE dbo.[Tuser_Info] ADD CONSTRAINT
 [PK_Tuser_Info] PRIMARY KEY CLUSTERED
 (
 [userId]
 ) ON [PRIMARY]

设置外键:
Tuser_Info的主键userId是TStudent主键id的外键:
ALTER TABLE dbo.[TStudent] ADD CONSTRAINT
 [FK_TStudent_Tuser_Info] FOREIGN KEY
 (
 [Id]
 ) REFERENCES dbo.[Tuser_Info]
 (
 [userId]
 )

2数据库连接类
考虑到工程的可移植性,数据库的配置不能写死。我们通过读取web.config来配置,然后读取。
ConfigurationSettings就用于这个配置文件。它来自System.Configuration,利用ConfigurationSettings.AppSettings["DB_CONNECTION_STRING"].ToString()获取Connection字符串。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=361297


[推荐本文] [点击此处收藏本文]   发表于 2005年04月24日 10:24 PM

Li写了一个很妙的小程序,把DataHelper中的所有操作store procedure的方法用这个小程序写了出来,让我赞叹不已。DataBase/Table/sysobjects中,xtype为p的是我们写的存储过程的名字,妙处就在此。

下面要写的是具体的功能类了,首先是注册和登录。我对vs的基本操作还不熟练,毕竟我是玩eclipse地(找个台阶,嘻嘻,我eclipse也不太专业)。下面说说vs的基本操作。

dll需要cs文件在工程里builde一下,ctrl+shift+B即builde solution就可以了。

然后在工程中使用这个dll时,需要reference它。在References中右键Add Reference,然后找到它就ok了。

最后在iis中建立这个工程的虚拟路径,debug一个webForm.aspx测试,一切搞定。

下面开工。先弄了个md5加密的东西,以便日后password存取。vs里有个MD5CryptoServiceProvider,可以很方便地建立md5。

public sealed class MD5CryptoServiceProvider : System.Security.Cryptography.MD5
    Member of System.Security.Cryptography

namespace System.Security.Cryptography
    Member of mscorlib

Assembly mscorlib
    d:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll

昨天Li写了注册的类放在common下,然后建立相应的aspx.cs作为注册页面。

今天我来第一次写实际的类--登录。
登录很简单,就是输入用户名和密码,然后到数据库里查找,并返回一个结果。
但是,我对.net编程还不熟悉,一步一步来,很不顺手。

首先要使用之前我们做过的存储过程,即引用DataHelper中的方法。这一步取到一个DataSet。
然后判断如果用户存在的话,密码是否正确。这是用到此前写的MD5类中的函数。
密码通过的话,判断此用户的角色,并返回一个角色名称的字符串。
上述条件不满足,返回空字符串。

类写好了也放到common里,然后在登陆页(首页)建立相应的控件,并对他们写事件,此时用到刚写过的类。

这个小东西七七八八地写完了。

今天Li解决了一个大问题。就是我俩的工程cvs commit后,总用一个*.csproj不能成功。我没法打开他的*.sln,只能自己建立一个,再在工程中其他文件。后来Li发现,*.csproj里有如下一些话:
            <References>
                <Reference
                    Name = "System"
                    AssemblyName = "System"
                    HintPath = "../../../WINDOWS/Microsoft.NET/Framework/v1.1.4322/System.dll"
                />
……
原来他的工程是建立在系统盘符下的,而我的是建立在e:盘。所以reference不同:
<References>
                <Reference
                    Name = "System"
                    AssemblyName = "System"
                    HintPath = "D:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/System.dll"
                />
……
我在D盘(我的系统盘)下重新建立,解决。

抱歉!评论已关闭.