Using conn As New MySqlConnection(builder.ConnectionString)
'MySQL文とコネクションを設定します。
Using cmd As New MySqlCommand("SELECT data1,data2,data3 FROM tbl_master" conn)
'MySQLへの橋渡しのアダプターを設定します。
Dim sda As MySqlDataAdapter = New MySqlDataAdapter()
'SELECTコマンドを設定します。
sda.SelectCommand = cmd
'SELECTの実行及びフェッチ
sda.Fill(dt)
'グリッドに表示します。
DataGridView1.DataSource = dt
End Using
画像を貼ってほしいというお願いは、やり方を書いたにもかかわらず聞いてもらえないようですし、レスに対するフィードバックもなしになってしまいましたが、どうするのですか? 考え中ならちょっと待ってくれとか書くとか、ギブアップならそう宣言してこのスレッドはクローズするとかしていただけませんか。無言は NG です。
解決策は[列の編集]画面で、DataPropertyName を設定することです。例えば、SELECT クエリが SELECT Id, Name, Qty, UnitPrice, Qty * UnitPrice AS Amount FROM list となっている場合、以下の画像のよう「番号」列には Id を設定します。
そうすれば、以下のコードで、
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace WindowsFormsMySQL
{
public partial class Form3 : Form
{
protected BindingSource bindingSource1;
public Form3()
{
InitializeComponent();
this.bindingSource1 = new BindingSource();
this.dataGridView1.DataSource = this.bindingSource1;
this.Controls.Add(this.dataGridView1);
this.bindingSource1.DataSource = CreateDataTable();
}
private DataTable CreateDataTable()
{
DataTable table = new DataTable();
string connString = "server=localhost;user id=root;password=*****;database=test";
string query = "SELECT Id, Name, Qty, UnitPrice, Qty * UnitPrice AS Amount FROM list";
using (MySqlConnection connection = new MySqlConnection(connString))
{
using (MySqlCommand command = new MySqlCommand(query, connection))
{
MySqlDataAdapter adapter = new MySqlDataAdapter(command);
adapter.Fill(table);
}
}
return table;
}
}
}