.NET版三层登录问题集锦

.Net版的三层登录敲完了,让我们把问题总结一下吧……

    问题1、

想大家看见这个错误就应该能想到是在数据库连接的地方出现的。都怪我太粗心,明明应该是server,却写成了 sever。

但是为什么在写代码的时候没有报错呢?原因就是sqlconnection是一个打开sql sever的数据库连接,连接数据库的语句是以字符串的形式写出来的,字符串就是你写的时候是什么样就是什么样,没有错。但是当执行到的时候就会觉得不对,然后报错。

问题2、

这个问题是数据类型转换时发生的。

下面是我们的sql语句:

如图,我们的数据库中的ID是int类型,Username和password是varchar类型,当用户输入的用户名和密码与数据库中的内容进行对比时,由于类型转换不过来,所以会报错。

解决方法:我们可以在select语句中只选择我们要用户名和密码两项内容,这样就避免了ID去进行数据转换,也可以将数据库中的ID数据类型变了,这样也可以避免数据转换时出现问题。

问题3、

错误的产生原因在这!

看图片中的提示,刚开始不知道怎么修改,只是觉得这个变量怎么会可能为空值呢?然后我就查了一下出现这个问题的原因:http://blog.csdn.net/sollion/article/details/5777475

这个问题可能由那么多原因引起,我就凌乱了……然后就问了张峰,张峰让在AS后面加一个New试试……这样就可以了。原来是这个变量没有实例化。少了一个NEW 就是没有实例化?

看看下面就明白了:

Dim a as 类和dim  as new 类有什么区别呢?

Dim  a as 类指的是声明了a这个变量,但是并没有创建,意思就是我们只是定义了这个变量,但是并没有为这个变量分配内存空间,所以这个变量就是空值。我们只能再通过set a =new 类进行初始化,来为这个变量分配内存空间。

而dim a as new 类与 dim a as 类和set a =new 类两句综合起来的作用是一样的。既定义了变量,又初始化了变量。

你可能还会想,为什么有的时候不用进行实例化就可以呢?是因为有的变量系统自动的给实例化了,所以就不用自己再写一遍实例化的代码了。

总结:每一次新的学习都会遇到大大小小的各种问题,而我们就是在这些问题中一步一步的茁壮成长!fighting。。。

时间: 2024-11-03 22:33:28

.NET版三层登录问题集锦的相关文章

.NET版三层登录

看着视频敲了一遍登录的例子,好像只是知道了三层里有D层.B层.U层,每层都是相互独立的,然后将数据逐层的传递.但是具体是怎么实现的,还是有点蒙-- 在敲.NET版三层登录之前参考了很多人的博客,这才慢慢的下手,敲上一遍,就觉得有清楚了很多-- 首先,建立以下的Windows应用程序以及类库: 实体类(Model)代码: <span style="font-size:18px;">Public Class UserInfo Private _username As Strin

三层登录实例VB.NET版具体解释---理论加实战篇

层,百度百科这样解释,首先-重叠起来的东西:重叠起来的东西中的一部分:层次|表层|大气层.其次-重叠.反复:层峦叠嶂|层出不穷.最后-量词,用于能够分出层次的事物.女孩儿强烈的第六感,三层中的层一定是第三个意思,三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据訪问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 接下来,以登录为例.结合分层,总结一下在这个小样例中的所思所想.首先,来

三层登录—c#

学习了三层,有一个登录窗口的小练习.是我们第一次接触三层的初战.如今仅仅是简单的了解了一些,须要学习的还有非常多,以下浅谈自己的理解. 我们说的三层就是分层了显示层.业务逻辑层和数据訪问层.当中显示层是直接和客户打交道的,是用户的显示界面:而业务逻辑层是处理业务的,是中间的桥梁.联系着显示层和数据訪问层,把用户的请求进行分析处理,在给数据源写入:那么数据訪问层是做什么的呢?主要操纵数据库,对数据库中的数据进行增删改查的处理.这样各个层次就有了自己特定的功能,达到了高内聚低耦合的效果. 这是一个简

利用 JavaScript SDK 部署网页版“Facebook 登录”

利用 JavaScript SDK 部署网页版"Facebook 登录" 通过采用 Javascript 版 Facebook SDK 的"Facebook 登录",用户可以使用 Facebook 凭据登录您的网页.即使您因为一些原因而无法使用我们的 JavaScript SDK,也一样可以实施"Facebook 登录". 要在不使用 JavaScript SDK 的情况下实施"Facebook 登录",请参阅手动构建登录流程

三层登录实战C#版

刚开始接触三层的时候没头绪,虽然知道它们之间的引用关系,可是还是感觉很混乱,所以上网看了看博客,决定先从画图入手.从包图-->类图-->时序图(逻辑)-->代码,一步步的重新做! 一.包图 为什么要有实体层?没有实体层可以吗?为什么不叫四层,而叫三层呢? 实体层的作用是便于层与层之间数据的传递,每个实体对象与数据库里的表示一一对应的.对于大量的数据来说,就可以直接通过实体对象用Get(),Set()方法将字段提取出来,这比临时在创建变量要省事.就相当于利用面向对象的思想,将大量的数据进行

三层登录实例

之前学习了三层,但是感觉学完之后依然没有什么感觉,于是这几天又花时间结合实例重新回顾了三层,感觉真是"磨刀不误砍柴工",瞬间条理清晰多了,嘿嘿! 一.首先建立相应的数据库: 并插入数据: 二.建立四个项目LoginBLL(B层).LoginDAL(D层).LoginModel(实体层).LoginUI(U层).由于LoginUI属于U层,为了更好的与用户交互所以需要将此项目设置成Windows窗体应用程序:其他项目这设置成类库的输出类型.如图: 其中,他们三者的关系是:LoginUI引

三层—登录窗体

    在上一篇文章介绍了三层,现在重点介绍一下三层是如何实现的 一.总述 这个例子有两个功能:登录.登录一次给积分 例子中有U层(Presentation Layer).B层(Business Layer).D层(Data Access Layer)和实体层组成, 它们之间调用关系如下 实体层在这里的作用是存储用户登录的信息,使用的是属性访问器 二.代码 在用三层的时候一般是从D层开始实现,所以我们也从D层开始介绍 在D层之前先看一下实体层的代码 1.D层,对数据库的操作 首先,D层需要调用数

三层登录

上篇简单介绍了我对三层的认识: http://blog.csdn.net/onlybymyself/article/details/43645813 这次关于登录:练习了两个版本:VB.NET和C# 在练习过程中,还了解了实体层: 为更好地满足引用原则: 1 DAL不引用BLL和UI: 2 BLL需要引用DAL: 3 UI直接引用BLL,可能间接引用DAL: 4 避免互相引用. 引进:实体层 关于实体层,可以将其理解为:装载数据的容器或一个载体. 因为有些数据,所有层都要用,但又要避免相互引用,

VB.NET版+三层实现登陆

三层已经学了一些时间了,開始认为自己能够用C#敲代码了,就用C#写了一个实现登陆的,真正再用在机房中.还是认为非常吃力的,所以.决定用vb.net敲了.以下是我用vb.net实现的登陆.能够给大家做一些參考. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1bXV4aWEwOTIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 这是构架的