Insert vil bare ikke med formparameter
Hej =)Jeg har siddet og rode med at inserte data fra en textbox i MsSQL et stykke tid og det vil bare ikke :(
Jeg får hele tiden fejlen:
"Cannot insert the value NULL into column 'Title', table 'TaskManager.dbo.Programs'; column does not allow nulls. INSERT fails.
The statement has been terminated."
jeg har forsøgt at indsætte en DefaultValue i asp:formparameter og det kommer rigtigt nok ind i DB'en, så jeg går ud fra at fejlen ligger i at jeg ikke får inputtet rigtigt fra textbox'en til asp:formparameter'en....?
Her er hvad jeg gør, håber der er en der kan spotte problemet:
.aspx filen
############################################
<%@ Page Language="C#" MasterPageFile="~/Default.master" AutoEventWireup="true" CodeFile="ManagePrograms.aspx.cs" Inherits="Admin_ManagePrograms" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="Content" Runat="Server">
<div>
<asp:SqlDataSource
ID="dataSourcePrograms"
runat="server"
ConnectionString="<%$ ConnectionStrings:TaskManagerDBConnection%>"
SelectCommand = "SELECT Title, Version, ProgramId FROM Programs"
insertcommand = "INSERT INTO Programs (Title, Version, ProgramId) VALUES (@xTitle,@xVersion,newid())">
<insertparameters>
<asp:formparameter name="xTitle" formfield="txtTitle" />
<asp:formparameter name="xVersion" formfield="txtVersion" />
</insertparameters>
</asp:SqlDataSource>
<table>
<tr>
<td style="width: 110px"><asp:Label ID="lblTitle" runat="server">Program Title:</asp:Label></td>
<td><asp:TextBox id="txtTitle" runat="server"/></td>
<td></td>
<td><asp:RequiredFieldValidator id="ValidateTxtTitle" runat="server" ControlToValidate="txtTitle" Display="Dynamic" ErrorMessage="Indtast en program title."/></td>
</tr>
<tr>
<td style="width: 110px"><asp:Label id="lblVersion" runat="server">Version:</asp:Label></td>
<td><asp:TextBox id="txtVersion" runat="server"/></td>
<td></td>
<td></td>
</tr>
<tr>
<td><asp:Label id="lblValidation" runat="server"/></td>
</tr>
<tr>
<td colspan=2><asp:Button id="btnAddProgram" runat="server" Text="Opret Program" OnClick="btnAddProgram_Click"/></td>
</tr>
</table>
<br />
</div>
</asp:Content>
kodefilen:
###################################################
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Admin_ManagePrograms : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnAddProgram_Click(object sender, EventArgs e)
{
dataSourcePrograms.Insert();
}
}