读书人

在 System.Data.SqlClient.SqlExcepti

发布时间: 2012-05-21 18:04:41 作者: rapoo

在 System.Data.SqlClient.SqlException 中第一次偶然出现的“System.Data.dll”类型的异常
出现标题里的错误

VB.NET code
Imports System.DataImports System.Data.SqlClientImports System.Web.SecurityPartial Public Class WebForm1    Inherits System.Web.UI.Page    Dim acookie As New HttpCookie("register")    Dim i As Integer    Dim lognumcookie As HttpCookie    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load        acookie.value = "false"        Response.Cookies.Add(acookie)    End Sub    Protected Sub blogin_Click(ByVal sender As Object, ByVal e As EventArgs) Handles blogin.Click        Dim mycon As SqlConnection        mycon = New SqlConnection("Server=localhost;uid=sa;pwd=;database=users")        Dim mycom As SqlCommand        mycom = New SqlCommand("pr_queryuser", mycon)        mycom.CommandType = CommandType.StoredProcedure        mycom.Parameters.Add(New SqlParameter("@username", SqlDbType.NVarChar, 4))        mycom.Parameters("@username").Value = username.Text        mycom.Parameters.Add(New SqlParameter("@password", SqlDbType.NVarChar, 50))        mycom.Parameters("@password").Value = password.Text        mycon.Open()        Dim userid As Integer        userid = mycom.ExecuteScalar        If userid <> 0 Then            acookie.Value = "true"            Response.Cookies.Add(acookie)            FormsAuthentication.RedirectFromLoginPage(username.Text, False)        Else            Response.Redirect("sorry.aspx")        End If        mycon.Close()        If Request.Cookies("lognumber") Is Nothing Then            lognumcookie = New HttpCookie("lognumber")        Else            lognumcookie = Request.Cookies("lognumber")        End If        i = CInt(lognumcookie.Value) + 1        lognumcookie.Value = i.ToString        'lognumcookie.expires=datetime.now.adddays(1)        Response.Cookies.Add(lognumcookie)        If i < 3 Then            labelmessage.Text = "用户名或密码错误,请重填"        Else            Response.Redirect("sorry.aspx")        End If    End Sub    Protected Sub breset_Click(ByVal sender As Object, ByVal e As EventArgs) Handles breset.Click        username .Text =""password .Text =""    End SubEnd Class[code=VB.NET]
[/code]

[解决办法]
一般这种错误是因为sql语句错误.看下存储过程pr_queryuser是否能在查询分析器中正确执行

读书人网 >VB Dotnet

热点推荐