bønna35 Skrevet 12. februar 2010 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'
Vial Skrevet 12. februar 2010 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
HDSoftware Skrevet 16. februar 2010 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.
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å