Lyckades testa mig fram till vad felet berodde på själv, var typfel på en av dom tre som jag trodde.
Frågan#1
Är nybörjare på .net så ser ni något konstigt så säg till.
Hursomhelst så får jag en massa olika problem när jag görsöker lägga till data i en databas med följande kod jag tror något utav fälten newsletter, gender eller birthdate strular, lägga till dom vanliga textfälten fungerar nämligen.
får fel på raden comm.ExecuteNonQuery()
<%@ Page Language="VB" MasterPageFile="~/community.master" AutoEventWireup="false" CodeFile="register_account.aspx.vb" Inherits="register_account" Culture="auto" UICulture="auto" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Label ID="dbErrorMessage" runat="server" Text=""></asp:Label>
Användarnamn:
<asp:TextBox ID="username" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator id="usernameReq" runat="server" ControlToValidate="username" ErrorMessage="<br />Du måste fylla i Användarnamn!" Display="Dynamic" /><br />
Lösenord:
<asp:TextBox ID="password1" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="password1" ErrorMessage="<br />Du måste fylla i Lösenord" Display="Dynamic" />
<br />
<ajaxToolkit:PasswordStrength ID="PS" runat="server" TargetControlID="password1"
DisplayPosition="RightSide" StrengthIndicatorType="Text" PreferredPasswordLength="6" PrefixText="Lösenord styrka:"
MinimumNumericCharacters="2" MinimumSymbolCharacters="0" RequiresUpperAndLowerCaseCharacters="true" HelpStatusLabelID="password1_HelpLabel" TextStrengthDescriptions="Väldigt svag;Svag;Normal;Stark;Väldigt Stark" CalculationWeightings="50;15;15;20" />
Upprepa Lösenord:
<asp:TextBox ID="password2" runat="server" TextMode="Password"></asp:TextBox>
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="Du måste fylla i samma lösenord i båda rutorna!" ControlToCompare="password2" ControlToValidate="password1"></asp:CompareValidator>
<br />
<asp:Label ID="password1_HelpLabel" runat="server" /><br />
<br />
Förnamn:
<asp:TextBox ID="name" runat="server"></asp:TextBox><br />
Efternamn:
<asp:TextBox ID="lastname" runat="server"></asp:TextBox><br />
Epost:
<asp:TextBox ID="email" runat="server"></asp:TextBox><br />
Kön:
<asp:radiobuttonlist id="gender" runat="server">
<asp:listitem value="0" Text="man" />
<asp:listitem value="1" Text="kvinna" />
</asp:radiobuttonlist>
Födelsedatum:
<asp:TextBox ID="birthdate" runat="server"></asp:TextBox>
<asp:Image ID="calendarimage1" ImageUrl="~/img/Calendar_scheduleHS.png" runat="server" />
<br />
<ajaxToolkit:ToolkitScriptManager runat="Server" EnableScriptGlobalization="true" EnableScriptLocalization="true" ID="ScriptManager1" />
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="birthdate" PopupButtonID="calendarimage1" />
<br />
<asp:CheckBox ID="newsletter" Text="Nyhetsbrev" runat="server" Checked="true"/><br />
<asp:CheckBox ID="useragreement" Text="anvandaravtal" runat="server" /><br />
<br />
<asp:button ID="submit1" runat="server" CausesValidation="true" text="Skicka" />
</asp:Content>
.vb
Imports System.Data.SqlClient
Imports System.Configuration
Partial Class register_account
Inherits System.Web.UI.Page
Protected Sub submit1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles submit1.Click
If Page.IsValid Then
' Define data objects
Dim conn As SqlConnection
Dim comm As SqlCommand
' Read the connection string from Web.config
Dim connectionString As String = ConfigurationManager.ConnectionStrings("community").ConnectionString
' Initialize connection
conn = New SqlConnection(connectionString)
' Create command
comm = New SqlCommand("InsertUserAccount", conn)
comm.CommandType = System.Data.CommandType.StoredProcedure
' Add command parameters
comm.Parameters.Add("@username", System.Data.SqlDbType.NVarChar, 50)
comm.Parameters("@username").Value = username.Text
comm.Parameters.Add("@password", System.Data.SqlDbType.NVarChar, 50)
comm.Parameters("@password").Value = password1.Text
comm.Parameters.Add("@name", System.Data.SqlDbType.NVarChar, 50)
comm.Parameters("@name").Value = name.Text
comm.Parameters.Add("@lastname", System.Data.SqlDbType.NVarChar, 50)
comm.Parameters("@lastname").Value = lastname.Text
comm.Parameters.Add("@email", System.Data.SqlDbType.NVarChar, 50)
comm.Parameters("@email").Value = email.Text
comm.Parameters.Add("@gender", System.Data.SqlDbType.Int)
comm.Parameters("@gender").Value = gender
comm.Parameters.Add("@birthdate", System.Data.SqlDbType.DateTime)
comm.Parameters("@birthdate").Value = birthdate
comm.Parameters.Add("@newsletter", System.Data.SqlDbType.Int)
comm.Parameters("@newsletter").Value = newsletter
'Try
' Open the connection
conn.Open()
' Execute the command
comm.ExecuteNonQuery()
' Reload page if the query executed successfully
Response.Redirect("register_account.aspx")
'Catch
' Display error message
dbErrorMessage.Text = "Error submitting the help desk request! Please Try again later, and/or change the entered data!"
'Finally
' Close the connection
conn.Close()
'End Try
End If
End Sub
End Class
Som sagt det går att lägga till endast textfälten men inte dom tre som nämns ovanför. kanske är något som måste converteras?