Hvorfor virker dette ikke ???
Jeg har problem med at oprette en post hvis der ikke står noget i feltet SMSNummer ... Jeg har fundet ud af at problemet opstår pga. af feltes type (BigInt) ... da det virker fint hvis jeg laver det på felt af type NVarChar ...Her er koden:
<%@ Page Trace="True"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="VB" runat="server">
Dim MyConnection As SqlConnection
Sub Page_Load(Sender As Object, E As EventArgs)
MyConnection = New SqlConnection("server=localhost;uid=skpsql;pwd=;database=skp-ticket;")
If Not (IsPostBack)
BindGrid()
End If
End Sub
Sub Opret_Click(Sender As Object, E As EventArgs)
Message.InnerHtml = ""
If (Page.IsValid)
Dim DS As DataSet
Dim MyCommand As SqlCommand
Dim InsertCmd As String = "INSERT INTO tblBruger (BrugerID, Navn, Password, Rettigheder, SMSNummer) VALUES (@BrugerId, @Navn, @Password, @Rettigheder, @SMSNummer)"
MyCommand = New SqlCommand(InsertCmd, MyConnection)
MyCommand.Parameters.Add(New SqlParameter("@BrugerID", SqlDbType.NVarChar, 50))
MyCommand.Parameters("@BrugerID").Value = fldBrugerID.Value
MyCommand.Parameters.Add(New SqlParameter("@Navn", SqlDbType.NVarChar, 50))
MyCommand.Parameters("@Navn").Value = fldNavn.Value
MyCommand.Parameters.Add(New SqlParameter("@Password", SqlDbType.NVarChar, 50))
MyCommand.Parameters("@Password").Value = fldPassword.Value
MyCommand.Parameters.Add(New SqlParameter("@Rettigheder", SqlDbType.Int, 4))
MyCommand.Parameters("@Rettigheder").Value = fldRettigheder.Value
MyCommand.Parameters.Add(New SqlParameter("@SMSNummer", SqlDbType.BigInt, 8))
MyCommand.Parameters("@SMSNummer").Value = fldSMSNummer.Value
MyCommand.Connection.Open()
Try
MyCommand.ExecuteNonQuery()
Message.InnerHtml = "<b>Record Added</b><br>" & InsertCmd.ToString()
Catch Exp As SQLException
If Exp.Number = 2627
Message.InnerHtml = "ERROR: A record already exists with the same primary key"
Else
Message.InnerHtml = "ERROR: Could not add record, please ensure the fields are correctly filled out"
End If
Message.Style("color") = "red"
End Try
MyCommand.Connection.Close()
End If
BindGrid()
End Sub
Sub BindGrid()
Dim DS As DataSet
Dim MyCommand As SqlDataAdapter
MyCommand = new SqlDataAdapter("SELECT * FROM tblBruger", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "tblBruger")
MyDataGrid.DataSource=DS.Tables("tblBruger").DefaultView
MyDataGrid.DataBind()
End Sub
</script>
<body style="font: 10pt verdana">
<form runat="server">
<h3><font face="Verdana">Inserting a Row of Data w/ Validation</font></h3>
<table width="95%">
<tr>
<td valign="top">
<ASP:DataGrid id="MyDataGrid" runat="server"
Width="700"
BackColor="#ccccff"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
EnableViewState="false"
/>
</td>
<td valign="top">
<table style="font: 8pt verdana">
<tr>
<td colspan="2" bgcolor="#aaaadd" style="font:10pt verdana">Opret bruger:</td>
</tr>
<tr>
<td nowrap>Bruger nr.: </td>
<td>
<input type="text" id="fldBrugerID" value="" runat="server">
<asp:RequiredFieldValidator id="fldBrugerIDReqVal"
ControlToValidate="fldBrugerID"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td nowrap>Navn: </td>
<td>
<input type="text" id="fldNavn" value="" runat="server">
<asp:RequiredFieldValidator id="fldNavnReqVal"
ControlToValidate="fldNavn"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td nowrap>Password: </td>
<td>
<input type="text" id="fldPassword" value="" runat="server">
<asp:RequiredFieldValidator id="fldPasswordReqVal"
ControlToValidate="fldPassword"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>Rettigheder: </td>
<td><nobr>
<input type="text" id="fldRettigheder" value="" runat="server">
<asp:RequiredFieldValidator id="fldRettighederReqVal"
ControlToValidate="fldRettigheder"
Display="Dynamic"
Font-Name="Verdana" Font-Size="12"
runat=server>
*
</asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>SMS nr.: </td>
<td><input type="text" id="fldSMSNummer" value="" runat="server"></td>
</tr>
<tr>
<td></td>
<td style="padding-top:15">
<input type="submit" OnServerClick="Opret_Click" value="Opret bruger" runat="server">
</td>
</tr>
<tr>
<td colspan="2" style="padding-top:15" align="center">
<span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
Håber I kan hjælpe :-)
