ラベル Mysql の投稿を表示しています。 すべての投稿を表示
ラベル Mysql の投稿を表示しています。 すべての投稿を表示

2011年4月19日火曜日

データの表示(参照)


private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 String^connStr = "server=localhost;Database=test;Uid=root;Pwd=password";
 MySqlConnection^ conn = gcnew MySqlConnection(connStr);
 try{
  textBox1->AppendText("Connecting to MySQL..." + "\r\n");
   conn->Open();

  String^ sql = "SELECT name, age FROM `sampleTable`";
  MySqlCommand^ cmd = gcnew MySqlCommand(sql, conn);
  
  MySqlDataReader^ rdr = cmd->ExecuteReader();

  while (rdr->Read()){
   textBox1->AppendText(rdr[0] + " -- " + rdr[1] + "\r\n");
  }
  rdr->Close();
 }catch (Exception^ e){
  textBox1->AppendText(e->ToString());
 }
 conn->Close();
 textBox1->AppendText("Done." + "\r\n");
}
passwordはそれぞれ書き変えて下さい。

テーブルにデータを追加する

private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
 String^connStr = "server=localhost;Database=test;Uid=root;Pwd=password";
 MySqlConnection^ conn = gcnew MySqlConnection(connStr);
 try{
  textBox1->AppendText("Connecting to MySQL..." + "\r\n");
  conn->Open();

  String^ sql = "INSERT INTO `test`.`sampleTable` (`id`, `name`, `age`) VALUES (NULL, '聖徳太子', '22')";
  MySqlCommand^ cmd = gcnew MySqlCommand(sql, conn);
  cmd->ExecuteNonQuery();
 }catch (Exception^ e){
  textBox1->AppendText(e->ToString());
 }
 conn->Close();
 textBox1->AppendText("Done." + "\r\n");
 }
passwordはそれぞれ書き変えて下さい。

はじめに-Mysql

Mysql は事前にインストールしておいて下さい。

.netで利用するにはConnector NET 6.3.5 を利用します。
Connector NET 6.3.5はMysqlをインストールしたフォルダにあります。
(インストール時の設定で無い場合もあるかもしれません)
ヘルプも MySQL\Connector NET 6.3.5\Documentation\MySql.Data.chmにあります。

一通りテーブルを追加するに利用方法を書いておきます。
ヘルプのUsers GuideTutorialのc#のソースをc++に描き直したものです。

便利なツールとしてphpMyAdmin を使っています。(必ず必要という訳ではない)
phpMyAdminはphpを利用するのでphpをインストールする必要があります。
phpを利用するにはウェブサーバーソフトをインストールする必要があります。

テーブルを追加する

データベース名testにテーブル名sampletableを追加する。
設定-新しい参照の追加 を読んで新しい参照を追加しておいて下さい。

ソースコード
上の方で追加
using namespace MySql::Data::MySqlClient;
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
  String^connStr = "server=localhost;Database=test;Uid=root;Pwd=password";
  MySqlConnection^ conn = gcnew MySqlConnection(connStr);
  try{
   textBox1->AppendText("Connecting to MySQL..." + "\r\n");
   conn->Open();

   String^ sql = "CREATE TABLE `test`.`sampleTable` (`id` INT NOT NULL AUTO_INCREMENT ,`name` VARCHAR( 20 ) NOT NULL ,`age` INT NOT NULL ,PRIMARY KEY ( `id` )) ENGINE = InnoDB;";

   MySqlCommand^ cmd = gcnew MySqlCommand(sql, conn);
   cmd->ExecuteNonQuery();
  }catch (Exception^ e){
   textBox1->AppendText(e->ToString());
  }
  conn->Close();
  textBox1->AppendText("Done." + "\r\n");
}
passwordはそれぞれ書き変えて下さい。


新しいテーブルsampletableが作成されている事が確認できます。
大文字は小文字に変換されるのだろうか?

String^ sql = ""; の部分にSQLのコマンドを書けば、データの参照や削除等もできます。

設定-新しい参照の追加

普通にプロジェクトを作成する。
メニューバーのプロジェクトからプロパティーを選択

Mysqlを使うための新しい参照の追加をする。

MySQLをインストールしたフォルダ\Connector NET 6.3.5\Assemblies\v2.0\MySql.Data.dllを見つける
MySql.Data.dll を選択してOKボタンを押す。

MySql.Data.dll が追加された事を確認してOKボタンを押す。