반응형
하나의 dataGridView에 전화 번호부와 이메일 데이터를 표시하고 싶습니다. 문제는 이메일 테이블 만 표시된다는 것입니다.
MySqlConnection connection = new MySqlConnection(MyConnectionString);
connection.Open();
try
{
MySqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM phonebook";
cmd.CommandText = "SELECT * FROM email";
MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Clone();
}
}
해결 방법
두 테이블을 조인하고 아래와 같이 결과를 가져와야합니다.
using(MySqlConnection connection = new MySqlConnection(MyConnectionString))
using(MySqlCommand cmd = connection.CreateCommand())
{
connection.Open();
cmd.CommandText = "SELECT pb.Id, pb.Name, pb.MobileNo, e.email FROM phonebook pb INNER JOIN email e ON e.Id= pb.Id";
MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
참조 페이지 https://stackoverflow.com/questions/21647363
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터 잘림 : 1 행의 'logo'열에 대한 데이터가 너무 깁니다. (0) | 2020.12.10 |
---|---|
MySQL에서 이름 설정 utf8? (0) | 2020.12.10 |
MySQL 열을 AUTO_INCREMENT로 변경 (0) | 2020.12.10 |
MySQL 쿼리를 사용하여 IP 주소 얻기 (0) | 2020.12.10 |
MySQL Sum values of a single row? (0) | 2020.12.10 |
댓글