■62153 / inTopicNo.3) |
Re[2]: C#とMySQLの連携 |
□投稿者/ taz (7回)-(2011/09/25(Sun) 17:57:07)
|
■No62151 (ペイリン さん) に返信 > ■No62147 (taz さん) に返信 > >>while (reader.next) のnext部分に波線が出ておりうまくいきません。 > > 波線が出ている、ということは、文法エラーということでしょうか? > 「うまくいきません」とだけ書くのではなく、エラーがあるならば、エラーの内容を記載するようにしましょう。 > > さて、本題ですが、内容からして、「while (reader.next)」の部分は、「while (reader.Read())」なのではないでしょうか? > > それと、これは余談ですが、 > >>if (reader != null) reader.Close(); >>if (hMySql != null) hMySql.Close(); > > の部分は、reader等がnullであれば、上記処理の前段階で例外が発生しますので、 > これらif文は意味がなく、各Closeメソッドだけで十分です。 > そうでなければ、例外処理のfinallyに上記if文を記載すべきです。
アドバイスありがとうございます。
private void Form1_Load(object sender, EventArgs e) { MySqlConnection hMySql = null; MySqlDataReader reader = null;
String connectionString = String.Format( "server={0};user id={1}; password={2}; database=mysql; pooling=false", "http://localhost:3306/SampleDB050", "root", "");
hMySql = new MySqlConnection(connectionString); hMySql.Open();
hMySql.GetSchema(); //hMySql.ChangeDatabase("tecs_db");
//SQL文作成 String sql = "select * from T01Prefecture order by PREF_CD";
MySqlCommand cmd = new MySqlCommand(sql, hMySql); reader = cmd.ExecuteReader();
while (reader.Read()) { MessageBox.Show(reader.GetString("PREF_NAME")); }
reader.Close(); hMySql.Close(); }
のように修正しましたが、データを取得する事が出来ません。
|
|