31. maj 2005 - 13:35Der er
13 kommentarer og 1 løsning
Ordreform i C#.NET fejler..
er der en der kan se hvad der er galt her ? :
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Security;
private void Page_Load(object sender, System.EventArgs e) { // Put user code to initialize the page here }
#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Confirm.Click += new System.EventHandler(this.Confirm_Click); this.Load += new System.EventHandler(this.Page_Load);
} #endregion
private void Confirm_Click(object sender, System.EventArgs e) { if (IsValid) { SqlCommand cmd; DataSet ordreDataSet = new DataSet(); connection = new SqlConnection(); connection.ConnectionString = "server=server;uid=user;pwd=pass;database=database";
string sql = "SELECT * FROM Kunder WHERE Fornavn='" + txtFornavn.Text +"' AND Efternavn=' " + txtEfternavn.Text + " ' AND Adresse=' " + txtAdresse.Text + " ' AND Postnummer=' " + txtPostnummer.Text + " ' AND Bynavn=' " + txtByen.Text + " ' AND Email=' " + txtEmail.Text + " ' AND Brugernavn=' " + txtBrugernavn.Text + " ' AND Password=' " + txtPassword.Text + " ' ";
SqlDataAdapter db = new SqlDataAdapter(sql, connection); SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(db);
Cannot insert the value NULL into column 'OrdreID', table 'ebytesolution.dbo.Ordre'; column does not allow nulls. INSERT fails. The statement has been terminated
men udover det - så tror jeg du bliver nødt til at sætte ordreid som primærnøgle på tabellen - autoinkrementerende og med step = -1 (så du ikke kommer i karambolage med nøglerne der ligger i tabellen i forvejen. hvis du så også sørger for at der laves en select i insert/update, kan du få sat de rigtige værdier i ordreid-kolonnen uden at lave en eksplicit select @@IDENTITY efterfølgende.... mvh
Det her er f.eks. sådan en procedure som vs finder på at generere :
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
CREATE PROCEDURE dbo.CauseInsert ( @Name nvarchar(50), @Description nvarchar(255), @Active bit ) AS SET NOCOUNT OFF; INSERT INTO Cause(Name, Description, Active) VALUES (@Name, @Description, @Active); SELECT CauseId, Name, Description, Active FROM Cause WHERE (CauseId = @@IDENTITY) GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
og resultatet af den (hvis du bruger den i forbindelse med adaptere og datasets) at du får sat de opdaterede værdier in i tabellen i datasettet - hvorved også dit id fra basen så vil stå der.
tak for henvendelsen.. jeg prøvet at lave om på mine keys.. og nu siger den at: Objektreferencen er ikke indstillet til en forekomst af et objekt. Beskrivelse: Der opstod en ikke-afviklet undtagelse under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.
Detaljer om undtagelse: System.NullReferenceException: Objektreferencen er ikke indstillet til en forekomst af et objekt.
jeg synes heller ikke jeg kan få øje på at du lægger noget i en sessionvariabel med den kode du har sendt - og det er formegentlig der det går galt. hvornår lægger du noget i den variabel ? mvh
ok sagen er: Jeg har en varekurv med nogle varer som ligger i en UC. Når jeg trykker [Ok] ryger den til kundeoplysninger.aspx hvor den stadig indeholder Sessionen. Meningen er at den skal update Ordre tabellen med OrdreID, KundeID, OrdreDato & Tabellen Ordredetaljer med OrdreID, VareID. Jeg er kommet så langt at den laver ordretabellen med dato, kundeid osv, men den laver intet i Ordredetaljer tabellen, selvom det burde virke..håber du kan hjælpe mig.. jeg er sq lidt lost..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.