nitrah Δημοσ. 14 Σεπτεμβρίου 2011 Δημοσ. 14 Σεπτεμβρίου 2011 Καλησπέρα παίδες , έχω ένα πρόβλημα το οποίο θα ήθελα αν μπορεί κάποιος να μου το λύσει. Καταρχήν το πρόγραμμα που έχω κάνει είναι σε γλώσσα C#. Έχω δημιουργήσει 1 πίνακα και στην φόρμα μου κάνω insert τα στοιχεία τα οποία τα συλλέγω από textboxes κτλπ. Το Insert γίνεται μια χαρά , το θέμα είναι ότι έχω βάλει το ID του πίνακα να αυξάνεται κατά 1 κάθε φορά που δημιουργείτε 1 νέο row. Το πρόβλημα είναι ότι θέλω να τραβήξω μετά το Insert το ID του συγκεκριμένου Row . Ξέρει κανείς πως μπορώ να το κάνω ? p.s. Στον τίτλο του θέματος έχει γίνει λάθος . "C# Datarow Value" ήθελα να γράψω
Material_Defender_1032 Δημοσ. 14 Σεπτεμβρίου 2011 Δημοσ. 14 Σεπτεμβρίου 2011 Φαντάζομαι λειτουργείς με stored procedure αποθηκευμένη στον sql server, έτσι? Εάν ναι, βάλε τον κώδικα "SELECT @@IDENTITY" μετά το insert, θα σου επιστρέψει to id του row.
nitrah Δημοσ. 14 Σεπτεμβρίου 2011 Μέλος Δημοσ. 14 Σεπτεμβρίου 2011 ο κώδικας στο συγκεκριμένο σημείο είναι ο εξής : istorikoTableAdapter1.Insert(IDaimodoti, double.Parse(txtbox_piesh.Text), int.Parse(txtbox_sfikseis.Text), double.Parse(txtbox_thermokrasia.Text), double.Parse(txtbox_varos.Text), double.Parse(txtbox_Aimatokritis.Text), double.Parse(txtbox_aimosferini.Text), double.Parse(txtbox_Ipsos.Text), txtbox_genika.Text, katigoriaAim, q1ans, q2ans, q3ans, q4ans, q5ans, DateTimePicker_Q6.Value, q7ans, q8ans, q9ans, q10ans, q11ans, q12ans, q13ans, q14ans, q15ans, q16ans, q17ans, q18ans, q19ans, q20ans, q21ans, q22ans, DateTime.Today); MessageBox.Show("Έγινε η εγγραφή του Ιστορικού ", "", MessageBoxButtons.OK); Εγώ θέλω το IdIstorikou , πως θα το πάρω ?
παπι Δημοσ. 15 Σεπτεμβρίου 2011 Δημοσ. 15 Σεπτεμβρίου 2011 ο κώδικας στο συγκεκριμένο σημείο είναι ο εξής : istorikoTableAdapter1.Insert(IDaimodoti, double.Parse(txtbox_piesh.Text), int.Parse(txtbox_sfikseis.Text), double.Parse(txtbox_thermokrasia.Text), double.Parse(txtbox_varos.Text), double.Parse(txtbox_Aimatokritis.Text), double.Parse(txtbox_aimosferini.Text), double.Parse(txtbox_Ipsos.Text), txtbox_genika.Text, katigoriaAim, q1ans, q2ans, q3ans, q4ans, q5ans, DateTimePicker_Q6.Value, q7ans, q8ans, q9ans, q10ans, q11ans, q12ans, q13ans, q14ans, q15ans, q16ans, q17ans, q18ans, q19ans, q20ans, q21ans, q22ans, DateTime.Today); MessageBox.Show("Έγινε η εγγραφή του Ιστορικού ", "", MessageBoxButtons.OK); Εγώ θέλω το IdIstorikou , πως θα το πάρω ? LINQ 2 SQL + Entity Framework = Μπες στο κοπο να τα μαθεις, θα σου λυσουν τα χερια http://msdn.microsof...7(v=vs.80).aspx http://msdn.microsof...y/bb386976.aspx πχ table Για να κανεις Insert και να παρεις το id (ή οτι θελεις) >using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { using (var db = new adotestEntities()) { var person = new Persons { Age = 1, City = "Athens", Last = "Mpoubis", Name = "VAGELAS", }; db.AddToPersons(person); db.SaveChanges(); Console.WriteLine(person.id); } Console.Read(); } } } για να κανεις Update >using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { using (var db = new adotestEntities()) { var res = from person in db.Persons where person.Name == "VAGELAS" select person; if (res.Count() > 0) { var vagelas = res.First(); vagelas.Name = "Vagelis"; db.SaveChanges(); Console.WriteLine("ID:{0} change name from VAGELAS to {1}",vagelas.id,vagelas.Name); } } Console.Read(); } } } Για select >using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { using (var db = new adotestEntities()) { var res = from person in db.Persons where person.Age > 18 select person; foreach (var item in res) { Console.WriteLine("Name:{0}",item.Name); } } Console.Read(); } } }
nitrah Δημοσ. 15 Σεπτεμβρίου 2011 Μέλος Δημοσ. 15 Σεπτεμβρίου 2011 Με τον τρόπο που κάνω εγώ το insert , δεν μπορώ κάπως να πάρω μετά το insert το value που με ενδιαφέρει ?
παπι Δημοσ. 15 Σεπτεμβρίου 2011 Δημοσ. 15 Σεπτεμβρίου 2011 Το query για το παραπανω table (persons) ειναι > insert into persons (Name,Age,City,Last) values ('Leon',1,'Athens','Kokos') select SCOPE_IDENTITY();
nitrah Δημοσ. 15 Σεπτεμβρίου 2011 Μέλος Δημοσ. 15 Σεπτεμβρίου 2011 παπι Δεν με βοηθάει αυτό που μου λες.... ! Εγώ αφού κάνω το Insert με το tableAdapter.Insert θέλω να πάρω ένα στοιχείο από την βάση. Πως θα το κάνω αυτό είναι το θέμα.
παπι Δημοσ. 15 Σεπτεμβρίου 2011 Δημοσ. 15 Σεπτεμβρίου 2011 παπι Δεν με βοηθάει αυτό που μου λες.... ! Εγώ αφού κάνω το Insert με το tableAdapter.Insert θέλω να πάρω ένα στοιχείο από την βάση. Πως θα το κάνω αυτό είναι το θέμα. Πω πω.. Παμε 1) Solution explorer 2) double click στο dataset που σε ενδιαφερει (αρχειο *.xsd) 3) Εισαι εδω 4) Πιανεις το "Query" απο το toolbox και το πετας 5) a) Use SQL statements INSERT c) d) MyInsert 7) τελος
nitrah Δημοσ. 15 Σεπτεμβρίου 2011 Μέλος Δημοσ. 15 Σεπτεμβρίου 2011 Nice παπι !! Ευχαριστώ για την βοήθεια.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.