Meilleur auteur de réponses
SQL DATA Count

Question
-
Bonjour a tous j'ai un autre probleme
Apres quelques semaine de travail j'ai reussi a comprendre un peut comment faire avec sqlMais la ou sa glisse pas c'est sur le contage des datarows
j Arrive a avoir le compte total des ligne mais j'arrive pas a avoir le numero de la ligne
selectionner par les bouton next et previus et les autresvoici mon code complet et si vous pouver me dire ce qui ne va pas?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WFA023 { public partial class WorkersForm : Form { SqlConnection con; DataSet dts; SqlDataAdapter sda; int MaxRows = 0; int inc = 0; public WorkersForm() { InitializeComponent(); } private void WorkersForm_Load(object sender, EventArgs e) { con = new SqlConnection(); dts = new DataSet(); con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\MyWorkers.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.Open(); String sql = "Select * From tblWorkers"; sda = new SqlDataAdapter(sql,con); sda.Fill(dts,"Workers"); NavRecords(); MaxRows = dts.Tables["Workers"].Rows.Count; con.Close(); //con.Dispose(); lblCount.Text = inc + " sur " + MaxRows; } private void NavRecords() { DataRow dRow = dts.Tables["Workers"].Rows[inc]; first_NameTextBox.Text = dRow.ItemArray.GetValue(1).ToString(); last_NameTextBox.Text = dRow.ItemArray.GetValue(2).ToString(); job_TitleTextBox.Text = dRow.ItemArray.GetValue(3).ToString(); lblCount.Text = inc + " sur " + MaxRows; } private void NextBtn_Click(object sender, EventArgs e) { if (inc != MaxRows - 1) { inc++; NavRecords(); } else { MessageBox.Show("Last Records"); } } private void PreviusBtn_Click(object sender, EventArgs e) { if (inc > 0) { inc--; NavRecords(); } else { MessageBox.Show("First Record"); } } private void LastBtn_Click(object sender, EventArgs e) { if (inc != MaxRows - 1) { inc = MaxRows - 1; NavRecords(); } else { MessageBox.Show("Last Record"); } } private void FirstBtn_Click(object sender, EventArgs e) { if (inc != 0) { inc = 0; NavRecords(); } else { MessageBox.Show("First Record"); } } private void AddNewBtn_Click(object sender, EventArgs e) { first_NameTextBox.Text = ""; last_NameTextBox.Text = ""; job_TitleTextBox.Text = ""; } private void Savebtn_Click(object sender, EventArgs e) { DataRow dRow = dts.Tables["Workers"].NewRow(); SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); dRow[1] = first_NameTextBox.Text; dRow[2] = last_NameTextBox.Text; dRow[3] = job_TitleTextBox.Text; dts.Tables["Workers"].Rows.Add(dRow); MaxRows = MaxRows + 1; inc = MaxRows - 1; sda.Update(dts, "Workers"); MessageBox.Show("Entry Added"); } private void UpdateBtn_Click(object sender, EventArgs e) { SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); DataRow dRow2 = dts.Tables["Workers"].Rows[inc]; dRow2[1] = first_NameTextBox.Text; dRow2[2] = last_NameTextBox.Text; dRow2[3] = job_TitleTextBox.Text; sda.Update(dts, "Workers"); MessageBox.Show("Record Updated"); } private void DeleteBtn_Click(object sender, EventArgs e) { SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); dts.Tables["Workers"].Rows[inc].Delete(); MaxRows--; inc = 0; NavRecords(); sda.Update(dts, "Workers"); MessageBox.Show("Record Delete"); } } }
Pour vous donnée une idée les ligne en rouge
le compte total est de 4, mais le compte débute a 0
ce qui fait dire que a la derniere ligne je suis a 3 et pouryant sa devrait indique 4
Le texte exacte indique 3 sur 4
Merci
BigDan
Réponses
-
Bonjour a tous j'ai un autre probleme
Apres quelques semaine de travail j'ai reussi a comprendre un peut comment faire avec sqlMais la ou sa glisse pas c'est sur le contage des datarows
j Arrive a avoir le compte total des ligne mais j'arrive pas a avoir le numero de la ligne
selectionner par les bouton next et previus et les autresvoici mon code complet et si vous pouver me dire ce qui ne va pas?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WFA023 { public partial class WorkersForm : Form { SqlConnection con; DataSet dts; SqlDataAdapter sda; int MaxRows = 0; int inc = 0; public WorkersForm() { InitializeComponent(); } private void WorkersForm_Load(object sender, EventArgs e) { con = new SqlConnection(); dts = new DataSet(); con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\MyWorkers.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.Open(); String sql = "Select * From tblWorkers"; sda = new SqlDataAdapter(sql,con); sda.Fill(dts,"Workers"); NavRecords(); MaxRows = dts.Tables["Workers"].Rows.Count; con.Close(); //con.Dispose(); lblCount.Text = inc + " sur " + MaxRows; } private void NavRecords() { DataRow dRow = dts.Tables["Workers"].Rows[inc]; first_NameTextBox.Text = dRow.ItemArray.GetValue(1).ToString(); last_NameTextBox.Text = dRow.ItemArray.GetValue(2).ToString(); job_TitleTextBox.Text = dRow.ItemArray.GetValue(3).ToString(); lblCount.Text = inc + " sur " + MaxRows; } private void NextBtn_Click(object sender, EventArgs e) { if (inc != MaxRows - 1) { inc++; NavRecords(); } else { MessageBox.Show("Last Records"); } } private void PreviusBtn_Click(object sender, EventArgs e) { if (inc > 0) { inc--; NavRecords(); } else { MessageBox.Show("First Record"); } } private void LastBtn_Click(object sender, EventArgs e) { if (inc != MaxRows - 1) { inc = MaxRows - 1; NavRecords(); } else { MessageBox.Show("Last Record"); } } private void FirstBtn_Click(object sender, EventArgs e) { if (inc != 0) { inc = 0; NavRecords(); } else { MessageBox.Show("First Record"); } } private void AddNewBtn_Click(object sender, EventArgs e) { first_NameTextBox.Text = ""; last_NameTextBox.Text = ""; job_TitleTextBox.Text = ""; } private void Savebtn_Click(object sender, EventArgs e) { DataRow dRow = dts.Tables["Workers"].NewRow(); SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); dRow[1] = first_NameTextBox.Text; dRow[2] = last_NameTextBox.Text; dRow[3] = job_TitleTextBox.Text; dts.Tables["Workers"].Rows.Add(dRow); MaxRows = MaxRows + 1; inc = MaxRows - 1; sda.Update(dts, "Workers"); MessageBox.Show("Entry Added"); } private void UpdateBtn_Click(object sender, EventArgs e) { SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); DataRow dRow2 = dts.Tables["Workers"].Rows[inc]; dRow2[1] = first_NameTextBox.Text; dRow2[2] = last_NameTextBox.Text; dRow2[3] = job_TitleTextBox.Text; sda.Update(dts, "Workers"); MessageBox.Show("Record Updated"); } private void DeleteBtn_Click(object sender, EventArgs e) { SqlCommandBuilder cb; cb = new SqlCommandBuilder(sda); dts.Tables["Workers"].Rows[inc].Delete(); MaxRows--; inc = 0; NavRecords(); sda.Update(dts, "Workers"); MessageBox.Show("Record Delete"); } } }
Pour vous donnée une idée les ligne en rouge
le compte total est de 4, mais le compte débute a 0
ce qui fait dire que a la derniere ligne je suis a 3 et pouryant sa devrait indique 4
Le texte exacte indique 3 sur 4
Merci
BigDanFinalement je crois avoir contourner le probleme en ecrivant ce code a la places
lblCount.Text = (inc + 1) +
Merci
BigDan
Mais je sais pas si la bonne facon de faire???- Marqué comme réponse Gilles TOURREAUModerator vendredi 16 juillet 2010 07:05