В форме C# Windows у меня есть две кнопки; Запрос и обновление. В этой форме есть DataGridView , где я поместил свои результаты MySQL. В разделении, когда я нажимаю запрос, я получаю результаты правильно. Когда я меняю значение в DataGrid и нажимаю обновление, MySQL получает эти обновления. Однако, когда я возвращаюсь к запросу, чтобы получить последние изменения из таблицы MySQL, DataGridView пуст. Я должен закрыть форму и повторно щелкнуть запрос, чтобы он наконец появился. < /p>
Это функция неправильного вызова da.update () или правильно ли ссылаться на что -то неправильно в кнопке запроса? < /p>
Вот код из Winform: < /p>
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 MySql.Data.MySqlClient;
using System.Data.Odbc;
using System.Data.SqlClient;
namespace GridAdjustments
{
public partial class Form3 : Form
{
private MySqlDataAdapter da; // Data Adapter
private DataSet ds; // Dataset
private string sTable = "Portfolio"; // Table Name
public Form3()
{
InitializeComponent();
}
private void Query_Click(object sender, EventArgs e)
{
string connectionString = "SERVER=localhost;" +
"UID=xxxxxx;" +
"PASSWORD=xxxxx;" +
"DATABASE=test";
MySqlConnection conn = null;
try
{
conn = new MySqlConnection(connectionString);
conn.Open();
da = new MySqlDataAdapter("SELECT * FROM books;", conn);
ds = new DataSet();
da.Fill(ds, sTable);
conn.Close();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
MessageBox.Show(ex.Message);
conn.Close();
}
finally
{
dataGridView1.Refresh();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = sTable;
}
}
private void Update_Click(object sender, EventArgs e)
{
MySqlCommandBuilder cmb = new MySqlCommandBuilder(da);
da.Update(ds, sTable);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/127 ... tagridview