Achillf Δημοσ. 19 Οκτωβρίου 2011 Δημοσ. 19 Οκτωβρίου 2011 Καλησπέρα , θα ήθελα τη βοηθεια σας σε ενα θεματακι που εχει προκυψει. Θελω οταν κανω insert σε ενα πινακα στη database απο κατω η λιστα που ειναι το datagrid να κανει refresh και να εμφανιζει τον νεο χρηστη που εκανα εγω insert. δοκιμασα το usersDataGridView.Refresh(); και τιποτα δεν γινεται. Πρεπει να κλεισω το προγραμμα και να το ξαναανοιξω για να μου δειξει την νεα εγγραφη στη λιστα. Δειτε παρακατω τον κωδικα που εχω στο button και το interface της φορμας. Κωδικας του button "Εγγραφη Νεου Χρηστη" private void button1_Click(object sender, EventArgs e) { Menu menu1 = new Menu(); string username = menu1.DatabaseReader("Select * from Users where username='"+textBox2.Text+"'","username"); if (username==textBox2.Text) menu1.showError("Ο χρήστης"+username+" ήδη υπάρχει."); else { if (comboBox2.Text=="Διαχειριστής") { menu1.DatabaseChange("insert into Users (username,password,access) values ('"+ textBox2.Text+"','"+textBox1.Text+"','admin')"); // usersDataGridView.Visible = false; // label3.Visible = true; // timer1.Enabled = true; } else if (comboBox2.Text=="Απλός Χρήστης") { menu1.DatabaseChange("insert into Users (username,password,access) values ('"+ textBox2.Text+"','"+textBox1.Text+"','user')"); // usersDataGridView.Visible = false; //label3.Visible = true; / timer1.Enabled = true; } εχω κανει και 2 συναρτησεις DatabaseChange και DatachangeReader για να με διευκολυνουν οι οποιες ειναι: public string DatabaseReader(string select, string read) { SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Users\\Achill\\Documents\\Visual Studio 2010\\Projects\\WindowsFormsApplication2\\WindowsFormsApplication2\\bin\\Debug\\basi.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"); SqlCommand command = conn.CreateCommand(); command.CommandText = select; bool syndesh = true; try { conn.Open(); } catch { showError("Αδύνατη σύνδεση με τη βάση δεδομένων"); syndesh = false; } if (syndesh) { SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) return reader[read].ToString(); conn.Close(); } return "noData"; } public void DatabaseChange(string write) { SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=D:\\Users\\Achill\\Documents\\Visual Studio 2010\\Projects\\WindowsFormsApplication2\\WindowsFormsApplication2\\basi.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"); SqlCommand command = conn.CreateCommand(); command.CommandText = write; bool syndesh = true; try { conn.Open(); } catch { showError("Αδύνατη σύνδεση με τη βάση δεδομένων"); syndesh = false; } if (syndesh) { command.ExecuteNonQuery(); conn.Close(); } } αυτα ρε παιδια ειναι ολα οσα εχω κανει, αλλα δεν μπορω να κανω refresh το datagrid με τιποτα οσο και αν εψαξα, αν μπορειτε βοηθηστε με.
kagelos Δημοσ. 19 Οκτωβρίου 2011 Δημοσ. 19 Οκτωβρίου 2011 Πρέπει να ξανακαλέσεις τον κώδικα που γεμίζει το grid. Ουσιαστικά πρέπει να θέσεις νέα τιμή στο property datasource. Κάτι τέτοιο : DataTable t = new DataTable(); someDataAdapter.Fill(t); grid.Datasource = t;
παπι Δημοσ. 19 Οκτωβρίου 2011 Δημοσ. 19 Οκτωβρίου 2011 Επισης ριξε μια ματια εδω (αμαρτια ειναι να εχεις τετοια εργαλεια και να μην τα χρησιμοποιεις)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα