ELEKTRO

Tecnología-WEB-Electrónica-Computación

Advertisement

Noticias Etiquetadas con ‘ .Net ’

ADO.NetLos archivos que presento a continuación fueron los creados en clase, si presentan un bug favor de reportarlo en los comentarios.

Estos programas son en vb.Net sobre el Proyecto Mono, si deseas saber más acerca de este proyecto y ver algunos buenos ejemplos puedes visitar el blog de Enrique Aguilar.

clsMateria.vb

Option Explicit On
Option Strict On
 
Imports System
 
 
Namespace ServiceAlumnos
 
	Public Class clsMateria
		Inherits ServiceAlumnos.DataAbstractionLayer
		Public Sub New()
			MyBase.New
		End Sub
		Private _matricula As Integer
		Private _materiaID As String
		Private _Nombre As String
		Private _Calificacion as Integer
		Public Property Matricula () As String
			Get
				Return _matricula
			End Get
			Set (ByVal value as String)
				_matricula = value
			End Set
		End Property
		Public Property MateriaID () As String
			Get
				Return _materiaID
			End Get
			Set (ByVal value as String)
				_materiaID = value
			End Set
		End Property
		Public Property Nombre () As String
			Get
				Return _Nombre
			End Get
			Set (ByVal value as String)
				_Nombre = value
			End Set
		End Property	
		Public Property Calificacion () As Integer
			Get
				Return _Calificacion
			End Get
			Set (ByVal value as Integer)
				_Calificacion = value
			End Set
		End Property	
		Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
			_materiaID = dr("MateriaID")
			_Nombre = dr("Nombre")
			_Calificacion = dr("Calificacion")
		End Sub
 
	End Class
End Namespace

clsAlumnos.vb

Option Explicit On
Option Strict On
 
Imports System
Imports System.Data
Imports System.Collections.Generic
 
 
Namespace ServiceAlumnos
 
	Public Class clsAlumno
		Inherits ServiceAlumnos.DataAbstractionLayer
		Public Sub New()
			MyBase.New
		End Sub
		Public Sub New(ByVal _cnnMySQL As MySql.Data.MySqlClient.MySqlConnection)
			MyBase.New(_cnnMySQL)
		End Sub
		Private _materiaDetails As New List (Of clsMateria)
		Private _matricula As Integer
		Private _nombre As String
		Private _apellidos As String
 
		Public Property Matricula() As Integer
			Get
				Return _matricula
			End Get
			Set(ByVal value As string)
				_matricula = value
			End Set
		End Property 
		Public Property Nombre() As String
			Get
				Return _nombre
			End Get
			Set(ByVal value As string)
				_nombre = value
			End Set
		End Property
		Public Property Apellidos() As String
			Get
				Return _apellidos
			End Get
			Set(ByVal value As string)
				_apellidos = value
			End Set
		End Property
		Public ReadOnly Property MateriaDetails() As List(of clsMateria)
			Get
				Return _materiaDetails
			End Get
		End Property
		Public Overrides Sub Read(ByVal dr As MySql.Data.MySqlClient.MySqlDataReader)
			_matricula=dr("Matricula")
			_matricula=dr("Matricula")
			_nombre=dr("Nombre")
			_apellidos=dr("Apellidos")
			Dim strSQL As String = "SELECT * FROM Materias WHERE Matricula = " & _matricula
			Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
			Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
			Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
			While drReader.Read()
				Dim objMateria As New clsMateria()
				objMateria.Read(drReader)
				_materiaDetails.add(objMateria)
 
			end While
			drReader.Close
			cnn.Close
		End Sub
	End Class
End Namespace

clsDAL.vb

Option Explicit On
Option Strict On
 
Imports System
Imports System.Data
Imports MySql.Data.MySqlClient
 
 
Namespace ServiceAlumnos
	Public MustInherit Class DataAbstractionLayer
	Protected cnnMySQLConnection As MySqlConnection
		Public Sub New ()
			MyBase.New()
		End Sub
 
	Public Sub New (ByVal _cnnConnection As MySqlConnection)
		cnnMySQLConnection=_cnnConnection
		CheckStatusConnection()
	End Sub
 
	'Definicion de Metodos Abstractos
	Public MustOverride Sub Read(ByVal _drDataReader As MySqlDataReader)
	Public Overridable Sub SetConnection(ByVal _cnnConnection As MySqlConnection)
		cnnMySQLConnection=_cnnConnection
		CheckStatusConnection()
	End Sub
	Public Sub ExecuteNonQuery(ByVal cmdCommand As MySqlCommand, ByRef errError As String)
		If cnnMySQLConnection IsNot Nothing Then
			Dim tscTransaction As MySqlTransaction = cnnMySQLConnection.BeginTransaction
			try
				cmdCommand.Connection=cnnMySQLConnection
				cmdCommand.Transaction=tscTransaction
				cmdCommand.ExecuteNonQuery()
				tscTransaction.Commit()
				Catch exMySQL As MySqlException
					errError="Data Provider: MySQL Server" & vbCrlf & "Numero del Error" & exMySQL.Number & vbCrLf & _
					"Descripcion del Error: " & exMySQL.Message
					tscTransaction.RollBack()
				Catch ex As Exception
					errError = "Origen de Error: " & ex.Source & vbCrLf & "Descripcion del Error: " & ex.Message
				Finally
					cnnMySQLConnection.Close()
					cnnMySQLConnection.Dispose()
			End Try
		End If
	End Sub
	Protected Sub CheckStatusConnection()
		If cnnMySQLConnection IsNot Nothing Then
			If cnnMySQLConnection.State=ConnectionState.Closed Then
				cnnMySQLConnection.Open()
			End IF
		End If
	End Sub
End Class
End Namespace

Webservice

Option Explicit On
Option Strict On
 
Imports System
Imports System.Web
Imports System.Web.Services
Imports System.Collections.Generic
 
Namespace ServiceAlumnos
 
	Public Class ServiceAlumno
		Inherits System.Web.Services.WebService
 
		<webMethod()>  _
			Public Function GetAlumnos() As clsAlumno()
				Dim objAlumnos As New List(Of clsAlumno)
 
					Dim strSQL As String = "SELECT * FROM Alumno"
					Dim cnn As New MySql.Data.MySqlClient.MySqlConnection("Data Source=localhost;Initial Catalog=Escuela;User Id=root;Password=kalabaza")
					cnn.Open
					Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(strSQL,cnn)
					Dim drReader As MySql.Data.MySqlClient.MySqlDataReader=cmd.ExecuteReader()
					While drReader.Read()
						Dim objAlumno As New clsAlumno()
						objAlumno.Read(drReader)
						objAlumnos.Add(ObjAlumno)
 
					end While
					drReader.Close
					cnn.Close
 
			End Function
	End Class
End Namespace

Y si te da flojera copiar el código aquí esta el rar de la solución: ServiceAlumnos

ASP .net MVC

ASP .net MVC

Hace unos días se ha lanzando la primera versión de Modelo Vista Controlador de ASP.NET 3.5, siendo la primera actualización de importancia desde el lanzamiento de Visual Studio 2008, generando el preámbulo de la versión 2010 ya en fases finales de producción.

ASP.NET 3.5 MVC ofrece una rica y motivadora experiencia a la hora de crear un Sitio Web dinámico que contenga una integración de diferentes procesos, pero brindando a la vez una separación más detallada de las capas de programación y de la lógica de negocio.

ASP.NET MVC contiene una arquitectura en la cual el desarrollador puede invertir menos tiempo a la hora de crear un sitio web con características de acceso a datos, separando a la tradicional forma de programación en ASP.NET que es la de contener de lado de la vista Default.aspx a su inseparable clase Default.aspx.vb o Default.aspx.cs. En esta parte MVC ofrece una separación de la zona del código de Visual Basic o C Sharp, permitiendo por un lado tener las vistas o páginas html que visualizará el usuario y en otra zona denominada controladores, las clases que interactuarán directamente con ellas. De hecho la generación de vistas se produce directamente de la función de la clase y no generando una nueva página independiente. En la parte controladora nosotros podemos definir aquellos elementos en sus métodos Get y Post de la acción que el usuario realizará.  MVC permite un mayor control sobre el  código HTML.

[Más]

monoLa mayoría de los que estamos involucrados en proyectos donde usemos Software Libre, hemos quedado convencidos de su gran potencial y su gran “performance” a la hora de realizar una aplicación, o correr un servicio, etc. Te da un control total sobre las acciones del sistema.

Pero cabe hacer mención que el Software Libre ha tenido que soportar ataques por diferentes vías y hoy dichos ataques continúan desde dentro, así como desde las comunidades de Software propietario. Si bien es cierto que muchos hemos usado tecnologías propietarias para solventar procesos en la empresa (incluso es de nuestra preferencia) también es cierto que lo podríamos haber hecho en Software Libre, más tiempo eso sí, pero sin lugar a dudas el Software Libre es un gran aporte a la Tecnología actual.

Enrique Aquilar y Richard Stallman

Enrique Aquilar y Richard Stallman

En el Software libre tenemos a grandes personalidades que han dado vida y sobretodo, han permitido que la lucha continué, uno de ellos es Richard Stallman, que con su lucha idealista ha convencido a cientos de comunidades de alumnos, profesores y personal de sistemas, a tener conciencia en el uso y limitaciones de software propietario, otro de los que han aportado al Software Libre su experiencia, (a pesar de las críticas sufridas en los últimos años) es Miguel de Icaza, (Mexicano por cierto) que con su experiencia y talento no solo en la participación del desarrollo de la interfaz GNOME, sino con su gran esfuerzo de crear un proyecto que permita a los desarrolladores de Software Libre utilizar herramientas más modernas y en este caso hablo directamente del caso de MONO 2, la mayoría conocemos que uno de los puntos fuertes y poco criticables de Microsoft es la tecnología .NET, gracias a su alcance, se ha puesto en una batalla al “tu por tu” contra Java y le ha quitado el control que tuvo durante casi una década y media. Pero bien, la limitante de .NET es que solamente corre sobre Windows y los demás donde quedan?, es aquí donde Miguel de Icaza, con gran visión, coordina el proyecto de poder implementar la tecnología .NET en GNU-Linux, MAC, Solaris, etc. pudiendo migrar aplicaciones de Visual Studio al proyecto denominado MONO. Mono utilizar Monodevelop y con ello es posible crear aplicaciones de escritorio para Linux con GTK# usando el Lenguaje C#, o crear Sitios WEB en ASP.NET usando C# o Visual Basic y corriendo sobre Apache u algún otro servidor WEB, todo esto efectivamente en Software Libre.

[Más]