Guest User

Untitled

a guest
Aug 9th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.56 KB | None | 0 0
  1. CombBox is not populating the ValueMember Properly from MySQL in C#
  2. private void cboMake_SelectedIndexChanged(object sender, EventArgs e)
  3. {
  4. if (cboMake.SelectedIndex >= 0)
  5. cboModel.Enabled = true;
  6. else
  7. cboModel.Enabled = false;
  8.  
  9. // get the foreign key value of the model id to get the make for each brand to populate here
  10. // MessageBox.Show(cboModel.ValueMember);
  11. // right now selectindex always shows -1. why?
  12. // if it changes, you need to then enable the right cbo, else, disable.
  13. // but also, you need the mid, fk, so you can then do a new sql statement with the where clause to populate it.
  14. int fk = cboModel.SelectedIndex;
  15. string connStr = "server=123.456.7.8;user=root;database=car;port=3306; password=nowayjose";
  16. MySqlConnection conn = new MySqlConnection(connStr);
  17. try
  18. {
  19. string sql = "SELECT * FROM cs_model WHERE mid='fk'";
  20. MySqlCommand cmd = new MySqlCommand(sql, conn);
  21. DataTable dt = new DataTable();
  22. MySqlDataAdapter da = new MySqlDataAdapter(cmd);
  23. da.Fill(dt);
  24. cboMake.DataSource = dt;
  25. cboMake.DisplayMember = "model";
  26. cboMake.ValueMember = "mmid";
  27. }
  28. catch (Exception ex)
  29. {
  30. MessageBox.Show(ex.ToString(), "MySQL Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  31. }
  32. conn.Close();
  33. }
  34.  
  35. private void frmMain_Load(object sender, EventArgs e)
  36. {
  37. string connStr = "server=123.456.7.8;user=root;database=car;port=3306; password=nowayjose";
  38. MySqlConnection conn = new MySqlConnection(connStr);
  39. try
  40. {
  41. string sql = "SELECT * FROM cs_make";
  42. MySqlCommand cmd = new MySqlCommand(sql, conn);
  43. DataTable dt = new DataTable();
  44. MySqlDataAdapter da = new MySqlDataAdapter(cmd);
  45. da.Fill(dt);
  46. cboMake.DataSource = dt;
  47. cboMake.DisplayMember = "make";
  48. cboMake.ValueMember = "mid";
  49. }
  50. catch (Exception ex)
  51. {
  52. MessageBox.Show(ex.ToString(), "MySQL Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  53. }
  54. conn.Close();
  55. }
  56.  
  57. private void cboMake_SelectedIndexChanged(object sender, EventArgs e)
  58. {
  59.  
  60. int fk = cboModel.SelectedIndex; // ?????
  61. .....
  62. }
  63.  
  64. string sql = "SELECT * FROM cs_model WHERE mid='fk'";
  65.  
  66. string sql = "SELECT * FROM cs_model WHERE mid=@mid";
  67.  
  68. MySqlCommand cmd = new MySqlCommand(sql, conn);
  69. cmd.Parameters.AddWithValue("@mid", fk);
  70.  
  71. int fk = cboMake.SelectedValue;
  72.  
  73. private void cboMake_SelectedIndexChanged(object sender, EventArgs e) {
  74. if (cboMake.SelectedIndex == -1)
  75. cboModel.Enabled = false;
  76. else {
  77. cboModel.Enabled = true;
  78. int fk = cboMake.SelectedValue;
  79.  
  80. using (var conn = new MySqlConnection(connStr))
  81. using (var cmd = new MySqlCommand("SELECT * FROM cs_model WHERE mid=@mid", conn))
  82. using (var da = new MySqlDataAdapter(cmd)) {
  83. cmd.Parameters.AddWithValue("@mid", fk);
  84. DataTable dt = new DataTable();
  85. da.Fill(dt);
  86. cboModel.DisplayMember = "model";
  87. cboModel.Validated = "mmid";
  88. cboModel.DataSource = dt;
  89. }
  90. }
  91. }
  92.  
  93. private void cboMake_SelectedIndexChanged(object sender, EventArgs e)
  94. {
  95.  
  96.  
  97. int foreignKey = (int)cboMake.SelectedIndex +1; // i forgot to cast the int from string since the database was tinyint, it still returns string in c#
  98. string fk = foreignKey.ToString(); // since i need the string for the query, back it goes, but i needed to do arithmetic
  99. string connStr = "server=10.18.30.1;user=notroot;database=car;port=3306;password=password";
  100. MySqlConnection conn = new MySqlConnection(connStr);
  101. try
  102. {
  103. string sql = "SELECT * FROM cs_model WHERE mid=" + fk; // forgot to escape out of the string (used to php $var style within double quotes)
  104. MySqlCommand cmd = new MySqlCommand(sql, conn);
  105. DataTable dt = new DataTable();
  106. MySqlDataAdapter da = new MySqlDataAdapter(cmd);
  107. da.Fill(dt);
  108. cboModel.DataSource = dt; // i had cboModel by a silly mistake
  109. cboModel.DisplayMember = "model";
  110. cboModel.ValueMember = "mmid";
  111.  
  112. }
  113. catch (Exception ex)
  114. {
  115. MessageBox.Show(ex.ToString(), "MySQL Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  116. }
  117. conn.Close();
  118. }
Add Comment
Please, Sign In to add comment