mycon=new sqlconnection("data source=(local);initial catalog=lyzygl;user id=sa;") mycom=new sqlcommand("select name,passwd from ydzy",mycon) 這兩句要放在if not ispostback then ... end if的外面 我一般都在聲明的同時賦值.
我去试一试,,,wait for me ...
Imports System.Data Imports System.Data.SqlClient Imports System.Web Imports System.IO Public Class register Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents usid As System.Web.UI.WebControls.TextBox Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents message As System.Web.UI.HtmlControls.HtmlGenericControl Protected WithEvents RequiredFieldValidator2 As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator Protected WithEvents ValidationSummary1 As System.Web.UI.WebControls.ValidationSummary Protected WithEvents pwd As System.Web.UI.WebControls.TextBox Protected WithEvents pwd1 As System.Web.UI.WebControls.TextBox Protected WithEvents part As System.Web.UI.WebControls.TextBox Protected WithEvents usertype As System.Web.UI.WebControls.DropDownList Protected WithEvents RequiredFieldValidator3 As System.Web.UI.WebControls.RequiredFieldValidator '注意: 以下占位符声明是 Web 窗体设计器所必需的。 '不要删除或移动它。 Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub#End Region Dim cou As Integer Dim mycon As SqlConnection = New SqlConnection("data source=wangfei;initial catalog=lyzygl;user id=sa;") Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 End Sub Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim insertcmd As String = "insert into usertype (name,passwd,type,depart) values (@name,@passwd,@type,@depart)" Dim mycom As SqlCommand = New SqlCommand(insertcmd, mycon) mycom.Parameters.Add(New SqlParameter("@name", SqlDbType.NVarChar, 50)) mycom.Parameters.Add(New SqlParameter("@passwd", SqlDbType.NVarChar, 50)) mycom.Parameters.Add(New SqlParameter("@type", SqlDbType.Int, 4)) mycom.Parameters.Add(New SqlParameter("@depart", SqlDbType.NVarChar, 50)) mycom.Parameters("@name").Value = usid.Text mycom.Parameters("@passwd").Value = pwd.Text mycom.Parameters("@type").Value = 3 mycom.Parameters("@depart").Value = part.Text mycom.Connection.Open() Try If pwd.Text = pwd1.Text Then mycom.ExecuteNonQuery() message.InnerHtml = "恭喜你,注册成功!" mycom.Connection.Close() Response.Redirect("default.aspx") Else message.InnerHtml = "你的密码与确认密码不一致!" End If Catch exp As SqlException message.InnerHtml = "发生异常!请重新输入!" End Try End Sub End Class 运行时又报错了... 错误如下: “/lyzygl”应用程序中的服务器错误。 --------------------------------------------------------------------------------未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 55: If pwd.Text = pwd1.Text Then 行 56: mycom.ExecuteNonQuery() 行 57: message.InnerHtml = "恭喜你,注册成功!" 行 58: mycom.Connection.Close() 行 59: Response.Redirect("default.aspx") 源文件: c:\inetpub\wwwroot\lyzygl\register.aspx.vb 行: 57 堆栈跟踪: [NullReferenceException: 未将对象引用设置到对象的实例。] lyzygl.register.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\lyzygl\register.aspx.vb:57 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +58 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain() +1277
Dim mycom As SqlCommand = New SqlCommand(insertcmd, mycon) mycom.CommandType = CommandType.StoredProcedure
mycom=new sqlcommand("select name,passwd from ydzy",mycon)
這兩句要放在if not ispostback then ... end if的外面
我一般都在聲明的同時賦值.
Imports System.Data.SqlClient
Imports System.Web
Imports System.IO
Public Class register
Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub
Protected WithEvents usid As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents message As System.Web.UI.HtmlControls.HtmlGenericControl
Protected WithEvents RequiredFieldValidator2 As System.Web.UI.WebControls.RequiredFieldValidator
Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator
Protected WithEvents ValidationSummary1 As System.Web.UI.WebControls.ValidationSummary
Protected WithEvents pwd As System.Web.UI.WebControls.TextBox
Protected WithEvents pwd1 As System.Web.UI.WebControls.TextBox
Protected WithEvents part As System.Web.UI.WebControls.TextBox
Protected WithEvents usertype As System.Web.UI.WebControls.DropDownList
Protected WithEvents RequiredFieldValidator3 As System.Web.UI.WebControls.RequiredFieldValidator
'注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Dim cou As Integer
Dim mycon As SqlConnection = New SqlConnection("data source=wangfei;initial catalog=lyzygl;user id=sa;")
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim insertcmd As String = "insert into usertype (name,passwd,type,depart) values (@name,@passwd,@type,@depart)"
Dim mycom As SqlCommand = New SqlCommand(insertcmd, mycon)
mycom.Parameters.Add(New SqlParameter("@name", SqlDbType.NVarChar, 50))
mycom.Parameters.Add(New SqlParameter("@passwd", SqlDbType.NVarChar, 50))
mycom.Parameters.Add(New SqlParameter("@type", SqlDbType.Int, 4))
mycom.Parameters.Add(New SqlParameter("@depart", SqlDbType.NVarChar, 50))
mycom.Parameters("@name").Value = usid.Text
mycom.Parameters("@passwd").Value = pwd.Text
mycom.Parameters("@type").Value = 3
mycom.Parameters("@depart").Value = part.Text
mycom.Connection.Open()
Try
If pwd.Text = pwd1.Text Then
mycom.ExecuteNonQuery()
message.InnerHtml = "恭喜你,注册成功!"
mycom.Connection.Close()
Response.Redirect("default.aspx")
Else
message.InnerHtml = "你的密码与确认密码不一致!"
End If
Catch exp As SqlException
message.InnerHtml = "发生异常!请重新输入!"
End Try
End Sub
End Class
运行时又报错了...
错误如下:
“/lyzygl”应用程序中的服务器错误。
--------------------------------------------------------------------------------未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 55: If pwd.Text = pwd1.Text Then
行 56: mycom.ExecuteNonQuery()
行 57: message.InnerHtml = "恭喜你,注册成功!"
行 58: mycom.Connection.Close()
行 59: Response.Redirect("default.aspx")
源文件: c:\inetpub\wwwroot\lyzygl\register.aspx.vb 行: 57 堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
lyzygl.register.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\lyzygl\register.aspx.vb:57
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +58
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
mycom.CommandType = CommandType.StoredProcedure