Como executar um Comando SQL em outro banco de dados no Formulário?

Segue exemplo @Framos.

O método “ExecuteReader” retorna um objeto do tipo System.Data.Comom.DbDataReader, contendo os dados retornados pelo SELECT.

Cada vez que o método reader.Read() é executado, faz a leitura de uma linha nova e retorna true se tem mais linhas para ler ou senão false.

using LATROMI.Extensions;

// A record será retornada no formato Dictionary<string, object>.
var rClientes = GetRecord('rClientes');

// Abre a conexão 
using (var connection = Database.CreateConnection("DB Clientes"))
{
   // Abre a conexão
   connection.Open();

   // Monta dicionário com o valor dos parâmetros 
   // que serão usados no comando SQL
   var commandParameters = new Dictionary<string, object> 
   {
      ["@cnpj"] = rClientes["cnpj"]
   };
   
   // Executa SELECT os parâmetros do dicionário, retorna um "DbDataReader"
   using(var reader = connection.ExecuteReader(
         "SELECT * FROM clientes WHERE cnpj = @cnpj", commandParameter))
   {
      if (reader.Read())
      {
         // Pega a razão social
         string razaoSocial = (string)reader["razaosocial"];
      }
   }
}

Você também pode dar uma olhada neste outro tópico, onde o DbDataReader também é utilizado:


Edições

  • Adicionado em 2022-08-29T03:00:00Z a linha connection.Open(); para abrir a conexão.
1 curtida