コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }