Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP

_Créditos das imagens: ChatGPT_ # LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP O desafio [**"Letter Combinations of a Phone Number"**](https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/) (Combinações de Letras de um Número de Telefone) é um problema clássico de programação que envolve a geração de todas as combinações possíveis de letras que um número de telefone pode representar, com base no mapeamento tradicional dos teclados de telefone. Abaixo, comparamos duas implementações desse desafio: uma em **Harbour** e outra em **TOTVS TLPP** (TOTVS Language Plus Plus). ## O Desafio Dada uma string contendo dígitos de 2 a 9, retorne todas as combinações possíveis de letras que esses dígitos podem representar. O mapeamento dos dígitos para as letras é o mesmo dos teclados de telefone tradicionais: - 2: "abc" - 3: "def" - 4: "ghi" - 5: ...

BlackTDN :: PowerShell :: Conexão direta ao SGBD via linha de comando

No exemplo anterior, BlackTDN :: PowerShell :: Conexão ODBC em Linha de Comando, vimos como, usando o PowerShell em linha de comando, podemos acessar dados em um BD através de um Driver ODBC. Mas, PowerShell vai muito além disso, é possível executar a conexão diretamente ao SGBD, bastando, para isso, alterar os Objetos de ODBC para SqlClient. conforme abaixo:

$Query =  "SELECT `n"
$Query += "   SE2.E2_FILIAL,`n"
$Query += "   SE2.E2_PREFIXO,`n"
$Query += "   SE2.E2_NUM,`n"
$Query += "   SE2.E2_PARCELA,`n"
$Query += "   SE2.E2_TIPO,`n"
$Query += "   SE2.E2_FORNECE,`n"
$Query += "   SE2.E2_LOJA,`n"
$Query += "   SE2.E2_NOMFOR,`n" 
$Query += "   SE2.E2_EMISSAO,`n"
$Query += "   SE2.E2_VENCTO,`n"
$Query += "   SE2.E2_VENCREA,`n"
$Query += "   SE2.E2_BAIXA,`n"
$Query += "   SE2.E2_BCOPAG,`n"
$Query += "   SE2.E2_VALOR,`n"
$Query += "   SE2.E2_NATUREZ`n"
$Query += "FROM`n"
$Query += "   SE2010 SE2`n"
$Query += "WHERE`n"
$Query += "   SE2.D_E_L_E_T_=' '`n"
$Query += "AND`n"
$Query += "   SE2.E2_EMISSAO BETWEEN '20110501' AND '20110531'`n"
$Query += "ORDER BY`n"
$Query += "   SE2.E2_FILIAL,`n"
$Query += "   SE2.E2_PREFIXO,`n"
$Query += "   SE2.E2_NUM,`n"
$Query += "   SE2.E2_PARCELA,`n"
$Query += "   SE2.E2_TIPO,`n"
$Query += "   SE2.E2_FORNECE,`n"
$Query += "   SE2.E2_LOJA`n"

$conn = new-object system.data.SqlClient.sqlconnection
$conn.connectionstring = "Data Source=127.0.0.1;Initial Catalog=rnp;User Id=sa;Password=sa;"

$Cmd = New-Object System.Data.SqlClient.sqlCommand
$Cmd.CommandText = $Query
$Cmd.Connection = $conn

$sqlAdapter = New-Object System.Data.SqlClient.sqlDataAdapter
$sqlAdapter.SelectCommand = $Cmd

$DataSet = New-Object System.Data.DataSet
$sqlAdapter.Fill($DataSet)
$Conn.Close()

$DataSet.Tables[0]

$sw = new-object system.io.streamwriter("c:\temp\se1_dataset_2011-05-01_2011-05-31.xml")
$DataSet.WriteXml($sw)
$sw.close()

image

e executar:

image

e se consultarmos a saída para o arquivo:

image

image

teremos:

image

image

Considerando que o SGBD utilizado no teste foi o SQL2000 utilizei o modelo de “Connection String” obtido em: Connection strings for SQL Server 2000, 7.0. Para outros SGBDs consulte a lista de “Connection String” disponíveis em: The Connection String Reference.

Os Administradores de Banco de Dados devem se maravilhar com essa ferramenta. Eu, como um mero coadjuvante mortal e fuçador, já fico. Imagine um “PowerUser”.

[]s

иαldσ dj

Comentários

Postagens mais visitadas