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