private void menu_pulishtowebsite_field(Object sender, EventArgs e) { MPPFORM.ListBoxFilterForm lbf = new MPPFORM.ListBoxFilterForm(); using (OdbcConnection conn = new OdbcConnection(Basic_HTB_Info.Conn_Str)) { conn.Open(); OdbcDataReader dr = new OdbcCommand("select fi_id,f_item,rcx from field_item where lock_item is null order by fi_id;", conn).ExecuteReader(); while (dr.Read()) { if (dr[1].ToString().Contains("跳") || dr[1].ToString().Contains("球")) { lbf.lb.Items.Add(String.Format("{0}:{1}:{2}", dr[0], dr[1], dr[2])); } } if (lbf.ShowDialog() == DialogResult.OK) { string[] s_ar = lbf.lb.SelectedItem.ToString().Split(':'); string si_id = s_ar[0]; dr = new OdbcCommand("select frc_id,fi_id,rank,group_id,road,s_number,number,classno,name,rc,grk,note from field_rc where fi_id=" + si_id, conn).ExecuteReader(); StringBuilder sb = new StringBuilder("["); while (dr.Read()) { sb.Append("{"); for (int i = 0; i < dr.FieldCount; i++) { if (!dr.IsDBNull(i)) { if (i > 0) { sb.Append(","); } if (i == 0) { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetInt32(i)+2000)); } else if (i < 2) { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetValue(i))); } else { sb.Append(String.Format("\"{0}\":\"{1}\"", Convert.ToChar(65 + i), dr.GetString(i).Replace(" ", "_").Trim())); } } } sb.Append("}"); } sb.Append("]"); MessageBox.Show(sb.ToString()); webpost.post(sb.ToString()); } conn.Close(); } }
/// <summary> /// Performs a SQL query and returns the selected in the first found row as a Integer array. Usable for only one row. /// </summary> /// <param name="Query">The SQL query that selectes a row and the fields to get. LIMIT 1 is added.</param> public static int[] runReadRowIntegers(string Query) { try { ArrayList rowBuilder = new ArrayList(); OdbcDataReader rowReader = new OdbcCommand(Query + " LIMIT 1", dbConnection).ExecuteReader(); while (rowReader.Read()) { for (int i = 0; i < rowReader.FieldCount; i++) { try { rowBuilder.Add(rowReader.GetInt32(i)); } catch { rowBuilder.Add(0); } } } rowReader.Close(); return (int[])rowBuilder.ToArray(typeof(int)); } catch (Exception ex) { Logging.logError(ex.Message + ", query = " + Query); return new int[0]; } }