2013-05-16 39 views
2

基本上它說這一切都在我的問題。我不知道如何。我試過這個(replace true/false in datagridview columns),但它不適合我。 我的SQL代碼:如何將DataGridView中的「True」更改爲Yes?

create table ejemploc 
(
id int not null, 
nombre varchar(35), 
opcion1 varchar(5), 
opcion2 varchar(5), 
opcion3 varchar(5), 
constraint pkid primary key (id) 
)engine=innodb; 

和我的代碼來填充我的DataGridView是:

private void CargaDataGridView() 
     { 
      conexion.Open(); 
      dataGridView1.Rows.Clear(); 
      try 
      { 
       cmd.CommandText = "select * from ejemploc"; 
       rd = cmd.ExecuteReader(); 

       while (rd.Read()) 
       { 
        this.dataGridView1.Rows.Add(rd.GetValue(0), rd.GetValue(1), rd.GetValue(2), rd.GetValue(3), rd.GetValue(4)); 
       } 
       conexion.Close(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 

我感謝所有幫助。謝謝!

編輯:

我得到了答案,這要歸功於https://stackoverflow.com/users/491243/jwhttps://stackoverflow.com/users/1711633/vond-ritz

變化"cmd.CommandText = "select * from ejemploc";"

cmd.CommandText = "SELECT id,nombre, CASE WHEN opcion1 = 'True' THEN 'Sí' ELSE 'No' END opcion1, CASE WHEN opcion2 = 'True' THEN 'Sí' ELSE 'No' END opcion2, CASE WHEN opcion3 = 'True' THEN 'Sí' ELSE 'No' END opcion3 FROM ejemploc"; 
+0

rd的哪個索引是您想要轉換的值? –

+0

我嘗試轉換rd.GetValue(2),rd.GetValue(3),rd.GetValue(4) –

回答

3
SELECT id, 
     nombre, 
     CASE WHEN opcion1 = 'True' THEN 'Yes' ELSE 'No' END opcion1, 
     CASE WHEN opcion2 = 'True' THEN 'Yes' ELSE 'No' END opcion2, 
     CASE WHEN opcion3 = 'True' THEN 'Yes' ELSE 'No' END opcion3 
FROM ejemploc 

,或者如果true = 1然後,

SELECT id, 
     nombre, 
     CASE WHEN opcion1 = 1 THEN 'Yes' ELSE 'No' END opcion1, 
     CASE WHEN opcion2 = 1 THEN 'Yes' ELSE 'No' END opcion2, 
     CASE WHEN opcion3 = 1 THEN 'Yes' ELSE 'No' END opcion3 
FROM ejemploc 
+0

謝謝你的回答,但我不明白這一點。在新的事件?如果是這樣,哪個? –

+1

用這個替換你的查詢。 –

+0

替換這個'cmd.CommandText =「select * from ejemploc」;' –

相關問題