Exemplo n.º 1
0
        internal override void Run(TemplateEnviroment env)
        {
            LanguageQueryFunc func      = (LanguageQueryFunc)m_engine.DefaultModule.Globals["query"];
            IDatabaseSource   dbcontext = (IDatabaseSource)m_engine.DefaultModule.Globals["dbcontext"];
            string            sql       = MakeSqlSubs(m_select, m_engine);
            IBedReader        reader    = dbcontext.GetAnyDDA().AdaptReader(func(sql));

            reader.RunForEachRecordAndDispose(dbcontext.Dialect.DialectCaps.MARS, (rec, index) => ProcessRecord(rec, env, index));
        }
Exemplo n.º 2
0
        internal override void Run(TemplateEnviroment env)
        {
            string            sql  = SelectTemplate.MakeSqlSubs(m_query, m_engine);
            LanguageQueryFunc func = (LanguageQueryFunc)m_engine.DefaultModule.Globals["query"];

            using (IDataReader reader = func(sql))
            {
                if (reader.Read())
                {
                    env.Writer.Write(reader[0].SafeToString());
                }
            }
        }
Exemplo n.º 3
0
        public override void WriteContent(string filename, IDatabaseSource db, Dictionary <string, string> vars, Dictionary <string, object> extnames)
        {
            RunTextWriterDelegate run = TextWriterCompiler.CompileScript(Code, Language);

            using (FileStream fw = new FileStream(filename, FileMode.Create))
            {
                LanguageQueryFunc func = sql =>
                {
                    var cmd = db.Connection.SystemConnection.CreateCommand();
                    cmd.CommandText = sql;
                    return(new CommandDataReader(cmd.ExecuteReader(), cmd));
                };
                extnames["query"]     = func;
                extnames["dbcontext"] = db;
                run(fw, extnames, null);
            }
        }