Note that there are some explanatory texts on larger screens.

plurals
  1. POwhy aren't my buttons working in c# application
    primarykey
    data
    text
    <p>I have a form which is linked to a database and the buttons which control the form are not working, I'm not getting any errors just simply nothing is happening. </p> <p>DisplayRow class </p> <pre><code>private void DisplayRow(int rowIndex) { // Check that we can retrieve the given row if (myDataTable.Rows.Count == 0) return; // nothing to display if (rowIndex &gt;= myDataTable.Rows.Count) return; // the index is out of range // If we get this far then we can retrieve the data try { DataRow row = myDataTable.Rows[rowIndex]; textBox1.Text = row["FilePath"].ToString(); textBox2.Text = row["Subject"].ToString(); textBox3.Text = row["Title"].ToString(); textBox4.Text = row["Keywords"].ToString(); textBox5.Text = row["MediaType"].ToString(); } catch (Exception ex) { MessageBox.Show("Error in DisplayRow : \r\n" + ex.Message); } } </code></pre> <p>The button which should move on to the next record</p> <pre><code>private void button1_Click(object sender, EventArgs e) { if (currentRecord &lt; myDataTable.Rows.Count -1) { currentRecord++; DisplayRow(currentRecord); } </code></pre> <p>But like i say when i run the app nothing happens, no errors just nothing.</p> <p>EDIT: as asked the coded for MyDataTable</p> <pre><code>private void Form1_Load(object sender, EventArgs e) { { String command = "SELECT * FROM Media"; try { myConnection = new OleDbConnection(access7ConnectionString); myAdapter = new OleDbDataAdapter(access7ConnectionString, myConnection); myCommandBuilder = new OleDbCommandBuilder(myAdapter); myDataTable = new DataTable(); FillDataTable(command); DisplayRow(currentRecord); } catch (Exception ex) { MessageBox.Show(ex.Message); } } </code></pre> <p>full code what I am running..</p> <pre><code>using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace MediaPlayer { public partial class Media : Form { // Use this connection string if your database has the extension .accdb private const String access7ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MediaDatabase.accdb"; // Use this connection string if your database has the extension .mdb private const String access2003ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\MediaDatabase.mdb"; // Data components private DataTable myDataTable; // Index of the current record private int currentRecord = 0; private void FillDataTable(string selectCommand) { currentRecord = 0; OleDbConnection myConnection = new OleDbConnection(access7ConnectionString); OleDbDataAdapter myAdapter = new OleDbDataAdapter(selectCommand, myConnection); myDataTable = new DataTable(); try { myConnection.Open(); myAdapter.SelectCommand.CommandText = selectCommand; myAdapter.Fill(myDataTable); myConnection.Close(); } catch (Exception ex) { MessageBox.Show("Error in FillDataTable : \r\n" + ex.Message); } DisplayRow(currentRecord); } private void DisplayRow(int rowIndex) { // Check that we can retrieve the given row if (myDataTable.Rows.Count == 0) return; // nothing to display if (rowIndex &gt;= myDataTable.Rows.Count) //resets the index to 0 when you get past the last record rowIndex = 0; //if rowIndex is less then 0 set it to the last row if (rowIndex &lt; 0) rowIndex = myDataTable.Rows.Count - 1; // If we get this far then we can retrieve the data try { DataRow row = myDataTable.Rows[rowIndex]; textBox1.Text = row["FilePath"].ToString(); textBox2.Text = row["Subject"].ToString(); textBox3.Text = row["Title"].ToString(); textBox4.Text = row["Keywords"].ToString(); textBox5.Text = row["MediaType"].ToString(); } catch (Exception ex) { MessageBox.Show("Error in DisplayRow : \r\n" + ex.Message); } } public Media() { InitializeComponent(); string command = "SELECT * FROM Media"; //the try catch is in the FillDataTable method FillDataTable(command); } private void label2_Click(object sender, EventArgs e) { } private void button2_Click(object sender, EventArgs e) { //assuming this cycles through the data currentRecord++; DisplayRow(currentRecord); } private void button6_Click(object sender, EventArgs e) { //assuming this resets the data currentRecord = 0; this.DisplayRow(currentRecord); } private void button1_Click(object sender, EventArgs e) { //assuming this cycles through the data currentRecord++; DisplayRow(currentRecord); } } </code></pre> <p>}</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload