bønna35 Skrevet 12. februar 2010 Del Skrevet 12. februar 2010 Håper noen kan hjelpe meg litt på vei. Har prøvd å søke litt rundt på mitt problem. Problemmet er. Jeg har en MSSQL database. Den heter Testdata. Der har jeg en tabell som heter Registrering. I den tabellen har jeg 3 felter. Kundenummer.Int, Bongnummer.Int, Totalsum.dec.(18,2). Jeg har 1 form. Den er det 3 textbox'er på. Så hvis jeg taster inn noen tall i de 3 textbox'ene, så skulle de gjerne legges inn i denne tabellen. Men er det noen ut ifra denne koden jeg har lagt med, som kan fortelle meg hva jeg har gjort feil, eller glemt? private void button4_Click(object sender, EventArgs e) { try { SqlCommand insertparam = new SqlCommand(); insertparam.CommandText = "insert into Registrering VALUES(@Kundenummer, @Bongnummer, @Totalsum"; SqlConnection mycon = new SqlConnection("Data Source = .\\SQLEXPRESS;Initial Catalog=Testdata;Integrated Security=SSPI"); insertparam.Parameters.Add("@Kundenummer", SqlDbType.Int, "Kundenummer"); insertparam.Parameters.Add("@Bongnummer", SqlDbType.Int, "Bongnummer"); insertparam.Parameters.Add("@Totalsum", SqlDbType.Decimal,(18.2), "Totalsum"); insertparam .Parameters["@Kundenummer"].Value = textBox1.Text; insertparam.Parameters ["@Bongnummer"].Value = textBox2.Text; insertparam.Parameters["@Totalsum"].Value = textBox3.Text; Det står dette som feilmelding: The best overloaded method match for 'System.Data.SqlClient.SqlParameterCollection.Add(string, System.Data.SqlDbType, int)' has some invalid arguments cannot convert from 'string' to 'int' Lenke til kommentar
Vial Skrevet 12. februar 2010 Del Skrevet 12. februar 2010 (endret) Hei 1. Har ikke så mye erfaring med MSSQL-databaser men i System.Data.OracleClient skriver vi iallfall parameterne med kolon (. 2. Feilmeldingen får du fordi det er ingen overload av Add som støtter tekststreng i den tredje parameteren i SqlCommand.Add. Såvidt jeg kan se er ikke AddWithValue deprecated enda så hvorfor ikke bruke den? Koden din ville sett slik ut: SqlCommand insertparam = new SqlCommand(); insertparam.CommandText = "INSERT INTO Registrering VALUES(:Kundenummer, :Bongnummer, :Totalsum)"; SqlConnection mycon = new SqlConnection("Data Source = .\\SQLEXPRESS;Initial Catalog=Testdata;Integrated Security=SSPI"); insertparam.Parameters.AddWithValue("Kundenummer", textBox1.Text); insertparam.Parameters.AddWithValue("Bongnummer", textBox2.Text); insertparam.Parameters.AddWithValue("Totalsum", textbox3.Text); EDIT: Du manglet en høyreparentes i sql-setningen din. Endret 12. februar 2010 av Vial Lenke til kommentar
HDSoftware Skrevet 16. februar 2010 Del Skrevet 16. februar 2010 Eller, du kan rett og slett bruke LINQ var NyRegistrering = new Registrering; NyRegistrering.Kundenummer = int.Parse(textBox1.Text); NyRegistrering.BongNummer = int.Parse(textBox2.Text); NyRegistrering.TotalSum = int.Parse(textBox3.Text); MyDB.Registrering.InsertOnSubmit(NyRegistrering); MyDb.SubmitChanges(); Du må selvsagt lage deg et Linq2SQL klassesett, men det gjør jo VS av seg selv. Bare å bruke Drag'n Drop. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå