[ruby-gnome2-doc-cvs] [Hiki] create - tut-libgda-exec-queries

Back to archive index

ruby-gnome2-hiki-pt_BR****@sourc***** ruby-gnome2-hiki-pt_BR****@sourc*****
2004年 4月 11日 (日) 11:37:50 JST


-------------------------
REMOTE_ADDR = 200.216.145.78
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/pt_BR/?tut-libgda-exec-queries
-------------------------
= Fazendo Queries
{{link("tut-libgda-build-queries", nil, "tut-libgda", "tut-libgda-datamodels")}}

== Fazendo "N$BeP(B"-Queries

N$BeP(B-queries s$BeP(B queries que n$BeP(B retornam dados, apenas o n$B(Bero de linhas afetadas, como um DELETE ou um UPDATE. 

A gente usa Gda::Connection#execute_non_query para fazer esse tipo de querie:

  def execute_sql_non_query(conn, texto)
      command = Gda::Command.new(texto, Gda::Command::TYPE_SQL, Gda::Command::STOP_ON_ERRORS)
      conn.execute_non_query(command)
  end

Gda::Connection#execute_non_query returna o n$B(Bero de linhas afetadas pelo comando executado, ou -1 em um erro.

== Fazendo Queries Normais

Queries normais s$BeP(B queries que retornam dados ("models" de dados). Voctem duas maneiras de fazer isso:

:Gda::Connection#execute_single_command
 Use esse m$BqU(Bodo quando vocquiser invocar apenas um $B(Bico comando. Essa a maneira recomendada.

 Esse m$BqU(Bodo retorna uma refer$BsO(Bcia para um objeto Gda::DataModel. 
:Gda::Connection#execute_command
 Use esse m$BqU(Bodo quando vocquiser invocar v$BaS(Bias senten$BmB(Bs separadas por v$ByS(Bgula, embutidas em um $B(Bico objeto Gda::Command.

 Esse m$BqU(Bodo retorna um array de objetos Gda::DataModel.

aqui vocvum exemplo:

  def execute_sql_command(conn, texto)
      command = Gda::Command.new(texto, Gda::Command::TYPE_SQL, Gda::Command::STOP_ON_ERRORS)
      array = conn.execute_command(command)
      array.each { |datamodel| show_table(datamodel) }
  end






ruby-gnome2-cvs メーリングリストの案内
Back to archive index