Saltar al contenido

Aquí os dejo todos los materiales y vídeos que se grabaron de este evento celebrado en Madrid

Sesiones: https://github.com/esmsdn/dotNetSpain2016/wiki/Recursos

Vídeos: https://channel9.msdn.com/Events/NET-Conference/2016

Gracias a todos los cracks que muestran sus conocimientos para que aprendamos  el resto.

Captura

Ahora toca .... jugar y aprender

Uno muy fácil y sencillo

Captura

SELECT
name
,type
,type_desc
FROM sys.system_objects
WHERE name LIKE 'dm[_]%'
ORDER BY name

Las funciones o vistas que aparecen en este listado  son muy importantes para supervisar y solucionar los problemas diferentes que tienen las  bases de datos.

Ya iremos viendo cada función e incluso alguna las hemos visto.

Vamos ahora modificar algunas cosas de nuestro primer Forms.

Captura

Por ejemplo el tamaño

Captura

Simplemente hemos añadido

$Form.Width = 250
$Form.Height = 100

Ahora modificamos la letra

Captura

$Font = New-Object System.Drawing.Font("Lucida Console",18,[System.Drawing.FontStyle]::Bold)
# Puedes poner: Regular, Bold, Italic, Underline, Strikeout
$Form.Font = $Font

Se nos ha salido de madre.Podemos rebajar el tamaño de la letra o reajustar la ventana. La primera opción es cambiar el 18 por un tamaño mas pequeño. Vamos a ver como hacemos lo segundo.

Captura$Form.AutoSize = $True
$Form.AutoSizeMode = "GrowAndShrink"

Podemos también se puede activar las barras de desplazamientos

Captura

$Form.AutoScroll = $True

Se puede hacer de varias formas como hemos visto, para gusto colores.

Puede ser útil registrar todo los que escribimos en Powershell.

Para  empezar podemos hacerlo así

Captura

Para pararlo

Captura

Vemos el fichero y lo que hemos grabado.

Captura

Bueno, hasta aqui lo ensencial.

Si utilizamos el parámetro NoClobber es para que no se sobreescriba el actual transcript

Captura

Para que si lo haga

Captura

Y el fichero txt nos quedaría

Captura

Y para que nos quede mas bonito y sepamos el log que fecha tiene:

Captura

Y el fichero txt

Captura

Espero que os sea de utilidad.

Y ya sabéis, podéis compartirlo en vuestras Redes Sociales tanto este como todo los artículos de este blog.

Os invito también a pasaros por el grupo de Facebook ya que pongo algun enlace más de otros temas. Espero vuestras visitas.

Después de nuestro Hola Mundo, vamos a meterle un botón para que realice una operación.

Queremos que nos sala la fecha de hoy.Lo primero que voy a hacer es definir una función para que nos salta la fecha. DEspués  el Forms.

Y nos quedaría tal que así.

Captura

#
# 01 Boton Fecha.ps1
#

# Ejecución del comando
function fecha
{
Clear
Get-Date|Out-Host
$form.close()
}
$form= New-Object Windows.Forms.Form
$button = New-Object Windows.Forms.Button
$button.text = "Fecha hoy!!"
$button.add_click({fecha})
$form.controls.add($button)
$form.ShowDialog()

Ya veremos que podemos hacer que salga dentro del forms.

Ya los hemos hecho con 2 tablas

Repasando los #joins con un poco de geografía con #SQLServer …. Saber el país y su cápital

Ahora vamos a hacer con 3 tablas. Vamos a meter esta tercera tabla.

Captura

Y tiene los siguientes datos

Captura

Ahora hacemos el INNER JOIN con las Tabla que contiene el país, la ciudad y que Idioma se habla.

Captura

Creo que ha sido un buen repaso.

De vez en cuando lo iremos repasando los joins ya que son muy utilizados en la vida real.

1

El primer ejercicio que se me ocurre  para la última base de datos que os he puesto para practicar es saber el país y su cápital.

Tenemos las tablas de País y Ciudad

cap1

cap2

Como haría el primer inner join, sacamos primero si se puede sacamos datos para ver si después lo hace bien.

cap1

cap2

Ahora hacemos el INNER JOIN

Captura

Creo que vemos con claridad  como jacer un join.Vamos a jugar un poco con esta bbdd que me va a dar mucho partido 😉

Vamosss!!!!

Podemos hacer aplicaciones GUI en nuestro powershell.

Como siempre hacemos un hola mundo

Add-Type -AssemblyName System.Windows.Forms
$Form = New-Object system.Windows.Forms.Form
$Form.Text = "Hola Mundo"
$Label = New-Object System.Windows.Forms.Label
$Label.Text = $mensaje
$Label.AutoSize = $True
$Form.Controls.Add($Label)
$Form.ShowDialog()

Podemos ponerlo en nuestro powershell o Visual Studio.

Y lo que nos sale es

Captura

Iremos reutilizando este código, como  he hecho con otros,  para ir paso a paso completando y metiendo mejoras.

Espero que os haya gustado.

Vamos, que  como ir al Panel de Control y después Añadir y Quitar Programas

Captura

o de otra forma

Captura

Esto lo podemos meter en un csv como ya hemos visto en este blog y tenerlo como un a especie de inventario.

Captura

Podemos agruparlo por marca, como el pantallazo anterior.

En un próximo artículo voy a hablar sobre los eventos.

Esto lo podemos hacer con el Management Studio.

Aquí ya vimos como hacer plantillas o templates. Esto es otra forma de encontrar la forma de hacer determinadas operaciones.

Captura

Generar Script

Captura

Yo he elegido todo, pero podéis señalar lo que queráis

Captura

Podeis meterlo en un solo fichero o en varios. Yo voy a elegir varios en esta práctica para ver la estructura  de las tablas y por otro los datos.

Damos avanzadas.

Captura

Aquí elegimos esquemas y datos.

Damos Aceptar y siguiente y Finalizar.

Captura

Y ahora tenemos el fichero esquema

Captura

y los los insert to para  los datos

Captura

Siempre se podrá hacer backups y restaurar bases de datos completas, aalgunas veces lo que queremos es un pequeño script que introduce unos datos de prueba en una base de datos.

Nos puede ser muy útil.

Aparecío en SQL Server 2012. y es parecida a PARSE, que ya vimos en este blog .

La función PARSE permite convertir una cadena de texto a un valor numérico o de fecha/hora, y produce un error en caso de no poder realizar la conversión, mientras que TRY_PARSE devuelve un NULL como las anteriores TRY_ que vimos en el artículo anterior.

La función PARSE  permite realizar la conversión teniendo en cuenta el idioma especificado como parámetro

Resulta muy útil en combinación con la funcion IIF..

Vamos con algún ejemplo

Captura

Y nos da error ....

Captura

o

Captura

Utilizando el TRY.

Captura

Espero que os haya aclaardo las dudas de estos 2 comándos.

Como podeis observar se puede hacer multitud de cosas con python.

Navegando me encuentro con este módulo que tiene hasta un tuto de como trabajar hasta con macros.

https://xlsxwriter.readthedocs.org/en/latest/index.html

Captura

Ya veremos mas módulos interesantes de python. Ahora a jugar.....

....