public static Message MySqlSelect(this Message message, string selectStatement) { if (!message.Variables.ContainsKey("Db.Host") || !message.Variables.ContainsKey("Db.Port") || !message.Variables.ContainsKey("Db.Username") || !message.Variables.ContainsKey("Db.Password") || !message.Variables.ContainsKey("Db.Database")) { throw new InvalidOperationException("Configuration incorrect"); } var config = new MySqlConnectionConfig { Host = message.Variables["Db.Host"].ToString(), Port = int.Parse(message.Variables["Db.Port"].ToString()), Username = message.Variables["Db.Username"].ToString(), Password = message.Variables["Db.Password"].ToString(), Database = message.Variables["Db.Database"].ToString() }; return(message.MySqlSelect(config, selectStatement)); }
public static Message MySqlSelect(this Message message, MySqlConnectionConfig config, string selectStatement) { var adapter = new MySqlDataAdapter(selectStatement, config.ToConnectionString()); var dataSet = new DataSet(); adapter.Fill(dataSet, "ResultTable"); var result = new XDocument(new XElement("MySqlSelectResult")); foreach (DataTable table in dataSet.Tables) { var doc = new XElement(table.TableName); foreach (DataRow row in table.Rows) { foreach (DataColumn column in table.Columns) { doc.Add(new XElement(column.ColumnName, row[column.Ordinal].ToString())); } } result.Root.Add(doc); } message.SetPayload(result.ToString()); return(message); }