Aún para personas profesionales en las Tecnologías de la Información puede confundir y quizás hasta desconocer el término de API REST. Con un profundo respeto les comparto un video que a mi me sirvió mucho de referencia e introducción a este tema a pesar del nombre del video.
jueves, 14 de septiembre de 2023
API REST en Visual Studio 2022
DataTable FrameWork 7 de .NET
Introducción.
"Representa
una tabla de datos en memoria"
A continuación, se
muestra algunas operaciones con DataTable en Visual Studio 2022
usando el lenguaje de programación de C#.
Crear el DataTable
DataTable dt = null;
string comando = "select * from tdbf";
cadenaConexion = "Provider=vfpoledb;Data
Source=rutadbf;Collating Sequence=machine";
OleDbConnection cnn = new OleDbConnection(cadenaConexion);
try
{
cnn.Open();
OleDbCommand cmd = new OleDbCommand(comando, cnn);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
dt = new DataTable();
dt.Locale =
System.Globalization.CultureInfo.InvariantCulture;
try
{
da.Fill(dt);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
catch (Exception)
{
throw;
}
En este código podemos
ver como una tabla de un software que se quedó en su versión de 32 bits como lo
es MS FoxPro gracias a las librerías de .NET lo puede leer
primero utilizando un OleDbAdapter (objeto da) y a través de un comando
select, utilizando el método Fill() es como poblamos el DataTable
con todo el contenido de la tabla tdbf. Comentaré la analogía que normalmente
hacía a mis alumnos cuando explicaba del adaptador y que acababa de vivir al
encargar un teléfono móvil que me llegó con un cargador para Europa o Asia y
entonces tuve que comprar un “adaptador” para nuestras tomas de corriente de
120v de América, así mismo la tabla puede venir de MS FoxPro, de Oracle,
de Microsoft SQL Server, SQLite, etc. Para que al final quede en
un objeto de .NET el cual inclusive puede ser modificable e impactar a
la estructura origen que no es tema de este artículo.
Leer
el nombre de las columnas de un DataTable
string[] aNamesCols = new string[dt.Columns.Count];
for (int i = 0; i < dt.Columns.Count; i++)
{
aNamesCols = dt.Columns[i].ColumnName;
}
En el ejemplo anterior
vamos a crear un arreglo de cadenas (strings) que contiene el nombre de las
columnas del DataTable que se acaba de crear en el primer ejemplo de código gracias
a las propiedades Count y ColumnName de las columnas (Columns)
del DataTable.
Recuperar
los valores de las columnas de un DataTable
int cols = torigen.Columns.Count;
foreach (DataRow
row in torigen.Rows)
{
for (int i = 0; i < cols; i++)
{
if (row[i].GetType() == typeof(string))
{
InsCmd = InsCmd + "'" + row[i] + "',";
}
else
{
InsCmd = InsCmd +
row[i] + ",";
}
}
Si queremos obtener los valores de una columna (campo en el argot de los
lenguajes XBase) podemos realizar el código mostrado arriba donde para empezar
solicitamos el número de columnas, luego recorremos la colección de Rows (registros
o tuplas en el lenguaje formal de las bases de datos) y de cada objeto Row
(row) accesamos a él, por medio de su índice (segundo ciclo que recorre las
columnas de la tupla).
Un extra a este código de ejemplo es la condición row[i].GetType() ==
typeof(string) donde de manera intuitiva (o diciendo coloquialmente “le
dimos como el burro que toco la flauta”) el compañero Paco Díaz y un servidor
programamos para saber si el dato extraído era de cadena (string) u otro tipo
de dato ya que se estaba construyendo una instrucción insert de SQL.
Hasta aquí el contenido del post y seguimos escribiendo hallazgos en el
vasto mundo que ahora cuenta con un colaborador más eficaz como lo son las
plataformas de inteligencia artificial.
Bibliografía
Microsoft.
(14 de septiembre de 2023). Microsoft Learn. Obtenido de Referencia de
.NET 7:
https://learn.microsoft.com/es-es/dotnet/api/system.data.datatable?view=net-7.0
jueves, 7 de septiembre de 2023
Configuración de Visual Studio 2022 para el IIS para WebApps de 32 Bits
Antes de cerrar el día, había quedado pendiente de como es posible así como en el IIS del equipo local, como probar las aplicaciones web puedan desplegarse para apps y dlls de 32 bits en el Visual Studio 2022.
Mostramos aquí la WebApp de juguete en el VS2022.
Ahora vamos a las opciones Herramientas-Opciones y aquí en Proyectos y Soluciones - Proyectos web se desmarca el checkbox de Usar la opción de 64 bits de IIS Express para proyectos y sitios web.
Probamos el ejecutar la aplicación web y observamos que se despliegue el resultado esperado.Por lo que se puede continuar con el desarrollo web para acceso con tablas de FoxPro.
Miguel Araujo.
Aplicaciones ASP.NET con Visual Studio 2022 - C# usando tablas de FoxPro
En el Instituto donde laboro se tiene un formato que lleva años usando y que parece que ya, al no tener versiones de 64bits y Microsoft concluir su desarrollo, se está cambiando por formatos de texto como el CSV, sin embargo debido a los sistemas heredadas que aun no se aun podido migrar se tiene aun versiones de archivos de lenguajes XBase (DBF).
Se pretende migrar este tipo de formato a CSV para después subir a una base de datos de Oracle. En principio al hacer que los archivos dbf se podían leer desde aplicaciones .NET de consola no se tuvo problema, por lo que, auguramos el éxito de este mismo caso de uso en aplicaciones web.
No fue así, y esto nos costó todo un día de buscar la solución, que hasta ahora solo se ha podido resolver en el Servidor Web (el Internet Information Services) de nuestras máquinas locales, pero es importante también darle salida, en el IIS Express del propio VS2022.
La solución se expresa en texto y en este artículo se detallará un poco más la misma. Como siempre la web te saca de varios apuros sin duda alguna y esta vez la solución vino de <lwp> Comunidad de Programadores.
El error que desplegaba el sitio web era lo siguiente:
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
Detalles de la excepción: System.InvalidOperationException: El proveedor 'vfpoledb' no está registrado en el equipo local.
Python y el algebra lineal (2)
Suma y resta de vectores y multiplicación de un escalar por un vector Para la suma y resta de vectores los arreglos y/o vectores deben ser...
-
Antes de cerrar el día, había quedado pendiente de como es posible así como en el IIS del equipo local, como probar las aplicaciones web p...
-
En la maestría del CIMAT , los profesores y estudiantes navegan entre dos lenguajes muy populares para las aplicaciones estadísticas / mate...