Classe para geração de queries em SQL Server 2008

Boa tarde,

Estou disponibilizando uma classa que auxilia o desenvolvedor a trabalhar com queries do SQL Server 2008, essa classe é baseada na classe CI_active_rec do CodeIgniter Framework, e resolvi portar essa classe para utilizar em projetos do Scriptcase.

Essa classe é de minha autoria, mas está profundamente baseada na classe do CodeIgniter, sendo assim se houver algum bug, teremos que aguardar correções do CodeIgniter primeiro.

Essa classe gera apenas strings que são comandos do SQL Server 2008, sendo assim é possível integrar seus comandos às macros que manipulam queries dentro do Scritpcase.

Para baixar a classe acesse: https://mega.co.nz/#!MZR0ABTQ!Qit0pg5AbEbBQYlrXpjhPN02hIphWYbtmD2ThvScCOw

Para utilizar descompacte um algum lugar onde o scriptcase pode acessá-la.

Em seguida, no seu código você deve fazer o seguinte:

require_once "caminho_da_classe"; $queryForge = CI_query_forge::get_instance();

ou você pode criar uma biblioteca com uma funcão que chame a classe, por exemplo:

function queryForge() { require_once "caminho_da_classe"; return CI_query_forge::get_instance(); }

Isso vai criar objeto para manipular os métodos da classe.

A documentação dos métodos está na própria classe, mas se houver dúvidas acesse: http://ellislab.com/codeigniter/user-guide/database/index.html.

Se você deseja gerar um SELECT, basta fazer o seguinte:

$queryForge->select()->from("tabela"); echo $queryForge->forge();
ou

$queryForge->select("campo1, campo2, campo3")->from("tabela"); echo $queryForge->forge();

Para aplicar isso no Scriptcase:

$queryForge->select("campo1, campo2, campo3")->from("tabela")->where("campo1", 236); sc_lookup("dataset", $queryForge->forge());

ou

$queryForge->insert("tabela", array("campo1" => 32, "campo2" => "José")); sc_exec_sql($queryForge->forge());

ou

$queryForge->where("id", 32)->update("tabela", array("campo1" => 32, "campo2" => "José")); sc_exec_sql($queryForge->forge());

ou

$queryForge->where("id", 32)->delete("tabela"); sc_exec_sql($queryForge->forge());

É possível gerar

SELECT -> select(), DISTINCT -> distinct(), TOP -> limit() FROM -> from(), WHERE -> where(), OR WHERE -> or_where(), WHERE IN -> where_in(), OR WHERE IN -> or_where_in(), WHERE NOT IN -> where_not_in(), OR WHERE NOT IN -> or_where_not_in(), JOINS -> join(), LIKE -> like(), NOT LIKE -> not_like(), GROUP BY -> group_by(), ORDER BY -> order_by() , HAVING -> having(), OR HAVING -> or_having(), INSERT -> insert(), UPDATE -> update(), DELETE -> delete()

Parabéns pela contribuição!!