<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>solo VB.NET - Visual Basic .Net &#187; Bases de Datos</title>
	<atom:link href="http://www.solovb.net/index.php/category/bases-de-datos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.solovb.net</link>
	<description>Visual Basic.NET, VB.NET, Programación, Tutoriales, Ejemplos</description>
	<lastBuildDate>Mon, 02 Jan 2012 14:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>SQL Delete</title>
		<link>http://www.solovb.net/index.php/2009/06/22/sql-delete/</link>
		<comments>http://www.solovb.net/index.php/2009/06/22/sql-delete/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 17:55:01 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=527</guid>
		<description><![CDATA[Quita filas de una tabla o vista.]]></description>
			<content:encoded><![CDATA[<p><strong>Instrucción DELETE<br />
Definición</strong><br />
Quita filas de una tabla o vista.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
DELETE [ FROM ]  [ FROM  [ ,...n ] ] [ WHERE {  ]
</pre>
<p>Descripción de las cláusulas</p>
<ul>
<li> <strong>FROM: </strong>Palabra clave opcional que se puede utilizar entre la palabra clave DELETE y el destino (tabla, vista o rowset)</li>
<li><strong>FROM &lt;tabla&gt;: </strong>Especifica una cláusula FROM adicional. Esta extensión de Transact-SQL para DELETE permite especificar datos de  y eliminar las filas correspondientes de la tabla en la primera cláusula FROM. Se puede utilizar esta extensión, que especifica una combinación, en lugar de una subconsulta en la cláusula WHERE para identificar las filas que se van a quitar.</li>
<li><strong>WHERE:</strong> Especifica las condiciones utilizadas para limitar el número de filas que se van a eliminar. Si no se proporciona una cláusula WHERE, DELETE quita todas las filas de la tabla.</li>
</ul>
<p>Ejemplos<br />
a. Elimina todos los registros de la tabla SalesPersonQuotaHistory</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
DELETE FROM Sales.SalesPersonQuotaHistory
</pre>
<p>b. Elimina todas las filas de la tabla ProductCostHistory en las que el valor de la columna StandardCost es superior a 1000.00.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
DELETE FROM Production.ProductCostHistory WHERE StandardCost &gt; 1000.00
</pre>
<p>c. Elimina las filas de la tabla SalesPersonQuotaHistory basándose en las ventas del año hasta la fecha almacenadas en la tabla SalesPerson</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
DELETE FROM Sales.SalesPersonQuotaHistory FROM Sales.SalesPersonQuotaHistory AS spqh INNER JOIN Sales.SalesPerson AS sp ON spqh.SalesPersonID = sp.SalesPersonID WHERE sp.SalesYTD &gt; 2500000.00
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/06/22/sql-delete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Update</title>
		<link>http://www.solovb.net/index.php/2009/06/22/sql-update/</link>
		<comments>http://www.solovb.net/index.php/2009/06/22/sql-update/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 12:43:47 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=521</guid>
		<description><![CDATA[Cambia los datos de una tabla o vista. ]]></description>
			<content:encoded><![CDATA[<p><strong>Instrucción UPDATE<br />
Definición</strong><br />
Cambia los datos de una tabla o vista.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
UPDATE objeto SET { nombre columna = { expresión | DEFAULT | NULL } | @variable = expresión | @variable = columna = expresión } [ ,...n ] [ FROM{  } [ ,...n ] ] [ WHERE {<condición>}  ]
</pre>
<p><strong>Descripción de las cláusulas </strong></p>
<ul>
<li><strong>SET: </strong>Especifica la lista de nombres de variable o de columna que se van a actualizar.</li>
<li><strong>Nombre Columna:</strong> Es una columna que contiene los datos que se van a cambiar. Debe existir en la tabla o vista. Las columnas de identidad o columnas calculadas no se pueden actualizar.</li>
<li><strong>Expresión: </strong>Es una variable, un valor literal, una expresión o una instrucción de subselección entre paréntesis que devuelve un solo valor. El valor devuelto por la expresión sustituye al valor existente en la columna o variable.</li>
<li><strong>DEFAULT:</strong> Especifica que el valor predeterminado definido para la columna debe reemplazar al valor existente en esa columna. Esta operación también puede utilizarse para cambiar la columna a nulo si no tiene asignado ningún valor predeterminado y se ha definido para aceptar valores nulos.</li>
<li><strong>FROM </strong><strong>:</strong> Especifica que se utiliza un origen de tabla, vista o tabla derivada para proporcionar los criterios de la operación de actualización. Si el objeto que se actualiza es el que se indica en la cláusula FROM y sólo hay una referencia al objeto en ella, puede especificarse o no un alias de objeto. Si el objeto que se actualiza aparece más de una vez en la cláusula FROM, una única referencia al objeto no debe especificar un alias de tabla. Todas las demás referencias al objeto de la cláusula FROM deben incluir un alias de objeto.</li>
<li><strong>WHERE: </strong>especifica las condiciones que limitan las filas que se actualizan. Su uso es importante ya que si no todos los registros de la tabla o vista reciben la modificación.</li>
</ul>
<p>Ejemplos<br />
a. Actualiza todos los registros de la tabla SalesPerson.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
UPDATE Sales.SalesPerson SET Bonus = 6000, CommissionPct = .10, SalesQuota = NULL
</pre>
<p>b. Actualiza solo los registros cuyo nombre empieza con Road-250 y son de color rojo. La modificación muestra como usar valores calculados.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
UPDATE Production.Product SET ListPrice = ListPrice * 2 WHERE Name LIKE N'Road-250%' AND Color = N'Red'
</pre>
<p>c. Modifica la columna SalesYTD de la tabla SalesPerson para reflejar las ventas más recientes registradas en la tabla SalesOrderHeader.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
UPDATE Sales.SalesPerson SET SalesYTD = SalesYTD + SubTotal FROM Sales.SalesPerson AS sp INNER JOIN Sales.SalesOrderHeader AS so ON sp.SalesPersonID = so.SalesPersonID
AND so.OrderDate = (SELECT MAX(OrderDate) FROM Sales.SalesOrderHeader WHERE SalesPersonID = sp.SalesPersonID)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/06/22/sql-update/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SQL Insert</title>
		<link>http://www.solovb.net/index.php/2009/06/22/sql-insert/</link>
		<comments>http://www.solovb.net/index.php/2009/06/22/sql-insert/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 05:31:13 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=516</guid>
		<description><![CDATA[Agrega una nueva fila o filas a una tabla o vista.]]></description>
			<content:encoded><![CDATA[<p><strong>Instrucción INSERT</strong><br />
<strong>Definición</strong><br />
Agrega una nueva fila o filas a una tabla o vista.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
INSERT [ INTO ] objeto { [ ( lista_columnas ) ] { VALUES ( ( { DEFAULT | NULL | expresión } [ ,...n ] ) [ ,...n ] ) | tabla_derivada | sentencia_ejecutable | DEFAULT VALUES } }
</pre>
<p><strong><br />
Descripción de las cláusulas </strong></p>
<ul>
<li><strong>INTO: </strong>Es una palabra clave opcional que se puede utilizar entre INSERT y la tabla de destino.</li>
<li><strong>Lista_columnas: </strong>Es una lista de una o más columnas en las que se insertarán los datos. Se debe incluir entre paréntesis y delimitar con comas.</li>
<li><strong>VALUES: </strong>Presenta la lista de valores de datos que se van a insertar. Debe haber un valor de datos por cada columna de la lista, si se especifica, o en la tabla. La lista de valores debe ir entre paréntesis. Los valores de la lista VALUES deberán estar en el mismo orden que la lista de columnas. La inserción de más de una fila de valores requiere que la lista VALUES esté en el mismo orden que las columnas de la tabla, para tener un valor en cada columna, o que lista especifique de forma explícita la columna en que la que se almacena cada uno de los valores entrantes. El número máximo de filas que se pueden insertar en una instrucción INSERT única es 1000. Para insertar más de 1000 filas, cree varias instrucciones INSERT, o realice una importación masiva de datos mediante la utilidad BCP o la instrucción BULK INSERT.</li>
<li><strong>Tabla_derivada: </strong>Es cualquier instrucción SELECT válida que devuelva filas con los datos que se van a cargar en la tabla.</li>
<li><strong>Sentencia_ejecutable:</strong> Es cualquier instrucción EXECUTE válida que devuelva datos con la instrucciones SELECT. Puede contener la llamada a un procedimiento almacenado.</li>
<li><strong>DEFAULT VALUES:</strong> Hace que la nueva fila contenga los valores predeterminados definidos para cada columna.</li>
</ul>
<p><strong>Consideraciones</strong><br />
Si una columna no se incluye en la lista de columnas, el Motor de base de datos debe ser capaz de proporcionar un valor basado en la definición de la columna; en caso contrario, no se puede cargar la fila. El Motor de base de datos proporciona automáticamente un valor para la columna si ésta:</p>
<ul>
<li>Tiene una propiedad IDENTITY. Se usa el valor de identidad incremental siguiente.</li>
<li>Tiene un valor predeterminado. Se usa el valor predeterminado de la columna.</li>
<li>Tiene un tipo de datos timestamp. Se utiliza el valor actual de marca de tiempo.</li>
<li>Acepta valores NULL. Se usa un valor NULL.</li>
<li>Es una columna calculada. Se utiliza el valor calculado.</li>
</ul>
<p><strong>Ejemplos</strong><br />
a. Inserta una fila en la tabla UnitMeasure. Dado que los valores para todas las columnas se suministran e incluyen en el mismo orden que las columnas de la tabla, no es necesario especificar los nombres de columna en la lista. Igualmente es una buena práctica declarar la lista siempre.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
INSERT INTO Production.UnitMeasure VALUES ('F2', 'Square Feet', GETDATE())
</pre>
<p>b. Mismo ejemplo que en la opción a, pero especificando la lista de columnas.</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
INSERT INTO Production.UnitMeasure (Name, UnitMeasureCode, ModifiedDate) VALUES ('Square Yards', 'Y2', GETDATE())
</pre>
<p>c. Inserta 5 filas en la tabla Departments</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
INSERT INTO dbo.Departments VALUES (1, 'Human Resources', 'Margheim'),(2, 'Sales', 'Byham'), (3, 'Finance', 'Gill'),(4, 'Purchasing', 'Barber'), (5, 'Manufacturing', 'Brewer')
</pre>
<p>d. Inserta el resultado de la instrucción SELECT en la tabla EmployeeSales</p>
<pre class="brush: sql; ruler: false; first-line: 1; highlight: [0]">
INSERT dbo.EmployeeSales SELECT 'SELECT', e.EmployeeID, c.LastName, sp.SalesYTD FROM HumanResources.Employee AS e INNER JOIN Sales.SalesPerson AS sp ON e.EmployeeID = sp.SalesPersonID INNER JOIN Person.Contact AS c ON e.ContactID = c.ContactID WHERE e.EmployeeID LIKE '2%' ORDER BY e.EmployeeID, c.LastName</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/06/22/sql-insert/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Como crear un reporte (reportviewer)</title>
		<link>http://www.solovb.net/index.php/2009/05/12/como-crear-un-reporte-reporting-services/</link>
		<comments>http://www.solovb.net/index.php/2009/05/12/como-crear-un-reporte-reporting-services/#comments</comments>
		<pubDate>Tue, 12 May 2009 13:30:44 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[informe]]></category>
		<category><![CDATA[reporte]]></category>
		<category><![CDATA[reporting services]]></category>
		<category><![CDATA[reportView]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=412</guid>
		<description><![CDATA[Quiero mostrarles en esta oportunidad cómo crear un reporte en visual basic .net utilizando reporting services y el control reportView.]]></description>
			<content:encoded><![CDATA[<p>Quiero mostrarles en esta oportunidad cómo crear un reporte en visual basic .net utilizando reporting services y el control reportView.</p>
<p>Lo primero que necesitamos es crear una conexión a una base de datos, y lo haremos de la siguiente manera: Desde el explorador de servidores (si no lo ves podes activarlo desde el menú Ver/Explorador de Servidores [Crtl+Alt+S]), creamos una nueva conexión. Seleccionamos SQL Server como se ve ne la imagen:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report001.jpg"><img class="aligncenter size-full wp-image-413" title="report001" src="http://www.solovb.net/wp-content/uploads/2009/05/report001.jpg" alt="report001" width="548" height="257" /></a></p>
<p>Luego debemos proporcionar los datos de conexión a nuestro servidor (Puedes presionar el botón [Probar Conexión] para asegurarte de que los datos son correctos). Puedes usar cualquier base de datos para el ejemplo:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report002.jpg"><img class="aligncenter size-full wp-image-414" title="report002" src="http://www.solovb.net/wp-content/uploads/2009/05/report002.jpg" alt="report002" width="382" height="574" /></a></p>
<p>Cuando finalices la conexión se verá como en la siguiente imagen:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report003.jpg"><img class="aligncenter size-full wp-image-415" title="report003" src="http://www.solovb.net/wp-content/uploads/2009/05/report003.jpg" alt="report003" width="594" height="362" /></a></p>
<p>Ahora debemos agregar un nuevo origen de datos a nuestra aplicación:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report004.jpg"><img class="aligncenter size-full wp-image-416" title="report004" src="http://www.solovb.net/wp-content/uploads/2009/05/report004.jpg" alt="report004" width="687" height="438" /></a></p>
<p>Los origenes de datos pueden ser desde una base de datos, un servicio web o un objeto. Para este ejemplo usamos una base de datos.</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report005.jpg"><img class="aligncenter size-full wp-image-417" title="report005" src="http://www.solovb.net/wp-content/uploads/2009/05/report005.jpg" alt="report005" width="575" height="451" /></a></p>
<p>Seleccionamos la conexión que creamos anteriormente.</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report006.jpg"><img class="aligncenter size-full wp-image-418" title="report006" src="http://www.solovb.net/wp-content/uploads/2009/05/report006.jpg" alt="report006" width="575" height="451" /></a></p>
<p>Damos nombre a la conexión y seleccionamos siguiente:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report007.jpg"><img class="aligncenter size-full wp-image-419" title="report007" src="http://www.solovb.net/wp-content/uploads/2009/05/report007.jpg" alt="report007" width="575" height="451" /></a></p>
<p>Puede que nuestra base de datos tenga varias tables, seleccionamos la tabla que utilizaremos:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report008.jpg"><img class="aligncenter size-full wp-image-420" title="report008" src="http://www.solovb.net/wp-content/uploads/2009/05/report008.jpg" alt="report008" width="575" height="451" /></a></p>
<p>Al finalizar se verá como en la imagen siguiente, si no lo ves, selecciona el menú Datos/Mostrar Origenes de Datos [Shift+Alt+D]:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report009.jpg"><img class="aligncenter size-full wp-image-421" title="report009" src="http://www.solovb.net/wp-content/uploads/2009/05/report009.jpg" alt="report009" width="490" height="355" /></a></p>
<p>Ya tenemos nuestro Origen de DAtos listo para ser utilizado. Ahora agregaremos un informe (report) a nuestro proyecto:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report010.jpg"><img class="aligncenter size-full wp-image-422" title="report010" src="http://www.solovb.net/wp-content/uploads/2009/05/report010.jpg" alt="report010" width="359" height="392" /></a></p>
<p>Seleccionamos Informe:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report011.jpg"><img class="aligncenter size-full wp-image-423" title="report011" src="http://www.solovb.net/wp-content/uploads/2009/05/report011.jpg" alt="report011" width="681" height="419" /></a></p>
<p>Se mostrará el diseñador de informes. Agrega una tabla al informe.</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report012.jpg"><img class="aligncenter size-full wp-image-424" title="report012" src="http://www.solovb.net/wp-content/uploads/2009/05/report012.jpg" alt="report012" width="567" height="346" /></a></p>
<p>Se verá mas o menos así:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report013.jpg"><img class="aligncenter size-full wp-image-425" title="report013" src="http://www.solovb.net/wp-content/uploads/2009/05/report013.jpg" alt="report013" width="576" height="342" /></a></p>
<p>Podemos agregar o quitar columnas haciendo clic con el botón derecho del mouse sobre alguna columna.<br />
Desde el panel Origenes de Datos arrastramos los campos sobre fila del medio de la tabla. Como se ve en la imagen:<a href="http://www.solovb.net/wp-content/uploads/2009/05/report014.jpg"><img class="aligncenter size-full wp-image-429" title="report014" src="http://www.solovb.net/wp-content/uploads/2009/05/report014.jpg" alt="report014" width="620" height="288" /></a></p>
<p>Luego en el Formulario Windows agregamos un control ReportView.</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report015.jpg"><img class="aligncenter size-full wp-image-430" title="report015" src="http://www.solovb.net/wp-content/uploads/2009/05/report015.jpg" alt="report015" width="523" height="355" /></a></p>
<p>Desde la etiqueta inteligente del control seleccionamos nuestro reporte (report1.rdlc):</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report016.jpg"><img class="aligncenter size-full wp-image-431" title="report016" src="http://www.solovb.net/wp-content/uploads/2009/05/report016.jpg" alt="report016" width="567" height="340" /></a></p>
<p>Luego, desde la misma etiqueta, seleccionamos Acoplar en el contenedor principal:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report017.jpg"><img class="aligncenter size-full wp-image-432" title="report017" src="http://www.solovb.net/wp-content/uploads/2009/05/report017.jpg" alt="report017" width="578" height="341" /></a></p>
<p>Notaremos que al seleccionar el informe, como el informe ya tenía una tabla con datos de un origen de datos, se han creado en forma automática los componentes Dataset, TableAdapter y Binding Sources correspondientes.</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report018.jpg"><img class="aligncenter size-full wp-image-433" title="report018" src="http://www.solovb.net/wp-content/uploads/2009/05/report018.jpg" alt="report018" width="602" height="433" /></a></p>
<p>Bueno, solo nos queda ejecutar la aplicación. El resultado debería parecerse al de la siguiente imagen:</p>
<p><a href="http://www.solovb.net/wp-content/uploads/2009/05/report019.jpg"><img class="aligncenter size-full wp-image-434" title="report019" src="http://www.solovb.net/wp-content/uploads/2009/05/report019.jpg" alt="report019" width="644" height="391" /></a></p>
<p>Los reportes afrecen varias funcionalidades mas que no he comentado por falta de tiempo. Lo haré en futuros post. Espero que les sirva este ejemplo. hasta la próxima entrega.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/05/12/como-crear-un-reporte-reporting-services/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>Filtrar resultados usando DataView</title>
		<link>http://www.solovb.net/index.php/2009/02/25/filtrar-resultados-usando-dataview/</link>
		<comments>http://www.solovb.net/index.php/2009/02/25/filtrar-resultados-usando-dataview/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 13:08:43 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Controles]]></category>
		<category><![CDATA[Ejemplos]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=285</guid>
		<description><![CDATA[En esta oportunidad quiero mostrarles como podemos filtrar los registros de un datagridview. Este ejemplo está basado en <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">este anterior</a>, pero la diferencia radica en que en lugar de pasarle como datasource al datagridview una tabla, le pasamos un dataview.]]></description>
			<content:encoded><![CDATA[<p>En esta oportunidad quiero mostrarles como podemos filtrar los registros de un datagridview  en <a href="http://www.solovb.net">visual basic .net</a>. Este ejemplo está basado en <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">este anterior</a>, pero la diferencia radica en que en lugar de pasarle como datasource al datagridview una tabla, le pasamos un dataview.</p>
<p>Un DataView no es más que una vista de la tabla que nosotros le asignamos y en esta vista podemos realizar varias tareas como la que veremos en este ejemplo: filtrar las filas de la tabla utilizando la propiedad RowFilter.</p>
<p>Este ejemplo es breve y muy sencillo; necesitamos un formulario (Form1), un cuadro de texto (TextBox1) y un datagridview (DataGridView1). A continuación les paso el código completo del formulario</p>
<pre class="brush: vb; title: ;">
Imports System.Data
Imports System.Data.SqlClient

Public Class Form1
    Private dv As New DataView
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim cnn As New SqlConnection(&quot;Data Source=MyServidor;Initial Catalog=MiBaseDeDatos;Integrated Security=SSPI;&quot;)

        Dim da As New SqlDataAdapter(&quot;SELECT * FROM Products&quot;, cnn)
        Dim ds As New DataSet

        da.Fill(ds)

        dv.Table = ds.Tables(0)

        DataGridView1.DataSource = dv
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        dv.RowFilter = String.Format(&quot;ProductName Like '%{0}%'&quot;, TextBox1.Text)
    End Sub
End Class
</pre>
<p>Noten que el dataview (dv) se instanció a nivel de formulario y no dentro del evento Load para luego poder acceder a el desde el evento textChange del textbox.</p>
<p>En este caso el filtro solo afecta la columna ProductName, pero seguro ustedes pueden mejorarlo para adaptarlo a sus necesidades.</p>
<p>El resultado debería verse como en la siguiente imagen.<br />
<img alt="" src="/images/dataview001.jpg" class="alignnone" width="631" height="412" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/02/25/filtrar-resultados-usando-dataview/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>Conectarse a una base de datos de SQL Server y llenar un datagridview sin escribir código.</title>
		<link>http://www.solovb.net/index.php/2009/02/05/conectarse-a-una-base-de-datos-de-sql-server-y-llenar-un-datagridview-sin-escribir-codigo/</link>
		<comments>http://www.solovb.net/index.php/2009/02/05/conectarse-a-una-base-de-datos-de-sql-server-y-llenar-un-datagridview-sin-escribir-codigo/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 21:33:37 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Controles]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[BindingNavigator]]></category>
		<category><![CDATA[BindingSource]]></category>
		<category><![CDATA[Conectar a SQL Server]]></category>
		<category><![CDATA[DataBinding]]></category>
		<category><![CDATA[estructura]]></category>
		<category><![CDATA[TableAdapter]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>
		<category><![CDATA[WinForms]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=134</guid>
		<description><![CDATA[Hoy quiero mostrarles un sencillo ejemplo de como conectarse a SQL Server y llenar un DataGridView, pero sin escribir ni una sola línea de código. Es decir que haremos todo arrastrando y soltando controles con visual studio.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hoy quiero mostrarles un sencillo ejemplo de como conectarse a SQL Server y llenar un DataGridView  en <a href="http://www.solovb.net">visual basic .net</a>, pero sin escribir ni una sola línea de código. Es decir que haremos todo arrastrando y soltando controles con visual studio.</p>
<p style="text-align: left;">1.- Debemos tener abierto el panel del explorador de servidores. Si no lo tienes puedes activarlo desde el menú VER / Explorador de Servidores, o con la combinación de teclas rápidas Ctrl + Alt + S. Deberías verlo como en la images 1.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo01" src="http://www.solovb.net/images/sincodigo101.jpg" alt="Sincodigo01" width="652" height="166" /></p>
<p style="text-align: center;">imagen 1</p>
<p style="text-align: left;">2.- Ahora creamos una nueva conexión, para ello hacemos clic con el botón derecho del mouse sobre &#8220;Conexiones de datos&#8221; y seleccionamos &#8220;Agregar conexión&#8230;&#8221; y aparecerá el cuadro de diálogo &#8220;Agregar conexión&#8221; que se ve en la imagen 2. Si el cuadro no se ve igual a este, no te preocupes, puede que tengas que cambiar el tipo de origen de datos. Presional el botón [Cambiar...] y selecciona SQL Server. Luego completa las demas opciones con los datos de tu servidor y tu base de datos.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo02" src="http://www.solovb.net/images/sincodigo102.jpg" alt="Sincodigo02" width="382" height="574" /></p>
<p style="text-align: center;">imagen 2</p>
<p style="text-align: left;">3.- Aparecerá en el explorador de servidores la nueva conexión tal como se muestra en la imagen 3. El primer impulso que tengo al ver esto es tomar una tabla, arrastrarla y soltarla sobre el formulario&#8230; pero si lo prueban, veran que no lo permite&#8230; faltan algunos pasos más&#8230;</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo03" src="http://www.solovb.net/images/sincodigo103.jpg" alt="Sincodigo03" width="652" height="166" /></p>
<p style="text-align: center;">imagen 3</p>
<p style="text-align: left;">4.- El paso siguiente es configurar un origen de datos. Para ello vamos al menú Datos / Agregar nuevo origen de datos&#8230; podemos configurar un origen de datos desde una base de datos, un Servicio Web o un objeto. En nuestro caso utilizamos una base de datos como se muestra en la imagen 4. Siguiente.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo04" src="http://www.solovb.net/images/sincodigo104.jpg" alt="Sincodigo04" width="575" height="451" /></p>
<p style="text-align: center;">imagen 4</p>
<p style="text-align: left;">5.- En este paso nos pide que seleccionemos una conexión o que creemos una nueva. Como nosotros ya la creamos simplemente la seleccionamos y elegimos siguiente.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo05" src="http://www.solovb.net/images/sincodigo105.jpg" alt="Sincodigo05" width="575" height="451" /></p>
<p style="text-align: center;">imagen 5</p>
<p style="text-align: left;">6.- Ahora debemos indicarle con que nombre se guardará la cadena de conexión en el archivo de configuración de la aplicación como se ve en la imagen 6. Si no estas inspirado podés hacer como yo y dejar el nombre que Visual Studio le asignó en forma automática.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo06" src="http://www.solovb.net/images/sincodigo106.jpg" alt="Sincodigo06" width="575" height="451" /></p>
<p style="text-align: center;">imagen 6</p>
<p style="text-align: left;">7.- Este es el último pasó. El asistente nos muestra una estructura de árbol con las tablas, vistas, procedimientos almacenados y funciones de nuestra base de datos. Solo tenemos que tildar aquellos objetos que queremos usar en nuestro proyecto (yo seleccioné solo las tablas como se ve en la imagen 7) y presionamos el botón [Finalizar].</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo07" src="http://www.solovb.net/images/sincodigo107.jpg" alt="Sincodigo07" width="575" height="451" /></p>
<p style="text-align: center;">imagen 7</p>
<p style="text-align: left;">Listo! ya tenemos nuestro origen de datos creado, pero, es posible que aún no lo veas. No desesperes, tienen que abrir el panel Orígenes de datos. Menú Datos / Mostrar orígenes de datos (Mayús. + Alt + D). Ahora deberías estar viendo el panel Origenes de datos como se ve en la imágen 8.</p>
<p style="text-align: left;">Ahora solo basta arrastrar cualquiera de las tablas desde orígenes de datos hasta el formulario y automaticamente se crearán un objeto DataSet, un objeto BindingSource, un objeto TableAdapter, un objeto BindingNavigator y un DataGridView en el formulario.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo08" src="http://www.solovb.net/images/sincodigo108.jpg" alt="Sincodigo08" width="790" height="679" /></p>
<p style="text-align: center;">imagen 8</p>
<p style="text-align: left;">Así que lo único que resta es presionar F5 para ejecutar la aplicación y ver como al cargarse el formulario se llena el datagridview con los datos de la tabla seleccionada. En la imagen 9 se ve como quedaría el formulario con el datagridview y los datos.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo09" src="http://www.solovb.net/images/sincodigo109.jpg" alt="Sincodigo09" width="419" height="404" /></p>
<p style="text-align: center;">imagen 9</p>
<p style="text-align: left;">Bueno, si has llegado hasta acá y pudiste ver los datos en tu aplicación y todo esto sin escribir una sola línea de código yo estoy seguro de que estarás muy contento con vb.net, pero antes de finalizar este pequeño tutorial te quiero dar un bonus más.</p>
<p style="text-align: left;">Si observas los nodos de la estructura de árbol donde se muestran las tablas de nuestros orígenes de datos, notarás que cada nodo es un comboBox (como se ve en la imagen 10) o sea que tenemos más opciones de las que vemos en un principio. Te propongo que selecciones para la misma tabla que usaste para llenar el datagridview el tipo Detalles, hagas un poco de espacio en el formulario (al lado del datagridview) y arrastres y sueltes ese nodo en el formulario.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo10" src="http://www.solovb.net/images/sincodigo110.jpg" alt="Sincodigo10" width="430" height="280" /></p>
<p style="text-align: center;">imagen 10</p>
<p style="text-align: left;">Deberías obtener un resultado muy similar al de la imagen 11.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo11" src="http://www.solovb.net/images/sincodigo111.jpg" alt="Sincodigo11" width="761" height="491" /></p>
<p style="text-align: center;">imagen 11</p>
<p style="text-align: left;">Al ejecutar nuevamente el programa verán como los campos al lado del datagridview están conectados y relacionados con el mismo origen de datos que el datagridview, por lo que al cambiar de registro en la lista, cambian también los datos de los campos de la derecha.</p>
<p style="text-align: center;"><img class="alignnone" title="Sincodigo12" src="http://www.solovb.net/images/sincodigo112.jpg" alt="Sincodigo12" width="704" height="404" /></p>
<p style="text-align: center;">imagen 12</p>
<p style="text-align: left;">Bueno, esto es todo por ahora. Espero que este ejemplo sea lo suficientemente claro para que quien no conocía estas virtudes de visual estudio le pueda empezar a sacar provecho.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/02/05/conectarse-a-una-base-de-datos-de-sql-server-y-llenar-un-datagridview-sin-escribir-codigo/feed/</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>Connection Strings (Cadenas de conexión)</title>
		<link>http://www.solovb.net/index.php/2009/02/03/connection-strings-cadenas-de-conexion/</link>
		<comments>http://www.solovb.net/index.php/2009/02/03/connection-strings-cadenas-de-conexion/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 23:47:29 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Connection Strings]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=124</guid>
		<description><![CDATA[Después de escribir el ejemplo de <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">conexión a SQL Server</a> y el de <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-de-microsoft-access-y-llenar-datagridview/">conexión a Microsoft Access</a> me di cuenta de que a pesar de que estos son los dos tipos de bases de datos mas usados, existen "un montón" de bases de datos y para cada una de ellas necesitaremos una cadena de conexión específica.]]></description>
			<content:encoded><![CDATA[<p>Después de escribir el ejemplo de <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">conexión a SQL Server</a> y el de <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-de-microsoft-access-y-llenar-datagridview/">conexión a Microsoft Access</a> me di cuenta de que a pesar de que estos son los dos tipos de bases de datos mas usados cuando programamos  en <a href="http://www.solovb.net">visual basic .net</a>, existen &#8220;un montón&#8221; de bases de datos y para cada una de ellas necesitaremos una cadena de conexión específica. Así que decidí dejarle los links a las definiciones de las cadenas de conexión de cada tipo de base de datos.  Espero que realmente les sea muy útil este dato.</p>
<table width="100%" border="0" cellpadding="5" cellspacing="0">
<tr>
<td width="5%">
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlserver2008.gif" alt="Sqlserver2008" title="Sqlserver2008" class="cl_iconimg" alt="" /></span></div>
</td>
<td width="95%"><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sql-server-2008">SQL Server 2008</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlserver2005.gif" alt="Sqlserver2005" title="Sqlserver2005" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sql-server-2005">SQL Server 2005</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlserver.gif" alt="Sqlserver" title="Sqlserver" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sql-server">SQL Server 2000, 7.0</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlserver2005ce.gif" alt="Sqlserver2005ce" title="Sqlserver2005ce" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sql-server-2005-ce">SQL Server Compact Edition</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/oracle.gif" alt="Oracle" title="Oracle" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/oracle">Oracle</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/db2.gif" alt="Db2" title="Db2" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/ibm-db2">IBM DB2</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/mysql.gif" alt="Mysql" title="Mysql" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/mysql">MySQL</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sybaseads.gif" alt="Sybaseads" title="Sybaseads" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sybase-advantage">Sybase Advantage Database Server</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sybasease.gif" alt="Sybasease" title="Sybasease" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sybase-adaptive">Sybase Adaptive Server Enterprise</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/informix.gif" alt="Informix" title="Informix" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/informix">Informix</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/postgre.gif" alt="Postgre" title="Postgre" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/postgre-sql">Postgre SQL</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/paradox.gif" alt="Paradox" title="Paradox" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/paradox">Paradox</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/firebird.gif" alt="Firebird" title="Firebird" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/firebird">Firebird</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/as400.gif" alt="As400" title="As400" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/as-400">AS/400 (IBM iSeries)</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/progress.gif" alt="Progress" title="Progress" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/progress">Progress</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/interbase.gif" alt="Interbase" title="Interbase" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/interbase">Interbase</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/ingres.gif" alt="Ingres" title="Ingres" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/ingres">Ingres</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/mimer.gif" alt="Mimer" title="Mimer" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/mimer-sql">Mimer SQL</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/lightbase.gif" alt="Lightbase" title="Lightbase" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/lightbase">Lightbase</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/pervasive.gif" alt="Pervasive" title="Pervasive" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/pervasive">Pervasive</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlbase.gif" alt="Sqlbase" title="Sqlbase" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sqlbase">SQLBase</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/cache.gif" alt="Cache" title="Cache" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/cache">Caché</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/teradata.gif" alt="Teradata" title="Teradata" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/teradata">Teradata</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/vistadb.gif" alt="Vistadb" title="Vistadb" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/vistadb">VistaDB</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/dbmaker.gif" alt="Dbmaker" title="Dbmaker" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/dbmaker">DBMaker</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/netezza.gif" alt="Netezza" title="Netezza" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/netezza">Netezza DBMS</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/valentina.gif" alt="Valentina" title="Valentina" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/valentina">Valentina</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/excel2007.gif" alt="Excel2007" title="Excel2007" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/excel-2007">Excel 2007</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/excel.gif" alt="Excel" title="Excel" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/excel">Excel</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/text.gif" alt="Text" title="Text" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/textfile">Textfile</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/access2007.gif" alt="Access2007" title="Access2007" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/access-2007">Access 2007</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/access.gif" alt="Access" title="Access" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/access">Access</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/visualfoxpro.gif" alt="Visualfoxpro" title="Visualfoxpro" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/visual-foxpro">Visual FoxPro / FoxPro 2.x</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/dbf.gif" alt="Dbf" title="Dbf" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/dbf-foxpro">DBF / FoxPro</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sqlite.gif" alt="Sqlite" title="Sqlite" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sqlite">SQLite</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/filemaker.gif" alt="Filemaker" title="Filemaker" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/filemaker">Filemaker</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/olap.gif" alt="Olap" title="Olap" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/olap-analysis-services">OLAP, Analysis Services</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/sharepoint.gif" alt="Sharepoint" title="Sharepoint" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/sharepoint">SharePoint</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/msproject.gif" alt="Msproject" title="Msproject" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/ms-project">MS Project</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/acdi.gif" alt="Acdi" title="Acdi" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/active-directory">Active Directory</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/exchange.gif" alt="Exchange" title="Exchange" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/exchange">Exchange</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/quickbase.gif" alt="Quickbase" title="Quickbase" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/quickbase">Intuit QuickBase</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/composite.gif" alt="Composite" title="Composite" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/composite-information-server">Composite Information Server</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/lotusnotes.gif" alt="Lotusnotes" title="Lotusnotes" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/lotus-notes">Lotus Notes</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/dsn.gif" alt="Dsn" title="Dsn" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/dsn">DSN</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/udl.gif" alt="Udl" title="Udl" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/udl">UDL</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/msindexserver.gif" alt="Msindexserver" title="Msindexserver" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/index-server">Index Server</a></span></td>
</tr>
<tr>
<td>
<div align="right"><span class="cl_ci_icon"><img src="http://www.connectionstrings.com/Content/Images/Icons/htmltable.gif" alt="Htmltable" title="Htmltable" class="cl_iconimg" alt="" /></span></div>
</td>
<td><span class="cl_ci_text"><a href="http://www.connectionstrings.com/html-table">HTML Table</a></span></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/02/03/connection-strings-cadenas-de-conexion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Conectarse con base de Microsoft Access y Llenar DataGridView</title>
		<link>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-de-microsoft-access-y-llenar-datagridview/</link>
		<comments>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-de-microsoft-access-y-llenar-datagridview/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 22:50:15 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Ejemplos]]></category>
		<category><![CDATA[Conectar a Microsoft Access]]></category>
		<category><![CDATA[DataGridView]]></category>
		<category><![CDATA[Llenar DataGridView]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=120</guid>
		<description><![CDATA[Como en el <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">post anterior</a>, de forma muy sensilla y con muy poco código, vamos a ver como establecer una conexión con un archivo de base de datos de Microsoft Access y luego de recuperar los datos de una de las tablas para llenar con ellos un DataGridView.]]></description>
			<content:encoded><![CDATA[<p>Como en el <a href="http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/">post anterior</a>, de forma muy sensilla y con muy poco código, vamos a ver como establecer una conexión  en <a href="http://www.solovb.net">visual basic .net</a> con un archivo de base de datos de Microsoft Access y luego de recuperar los datos de una de las tablas para llenar con ellos un DataGridView.</p>
<p>Lo primero que hay que hacer es importar dos espacios de nombres como muestro a continuación:</p>
<pre class="brush: vbnet; ruler: false; first-line: 1; highlight: [0]">
Imports System.Data
Imports System.Data.OleDb
</pre>
<p>Para este ejemplo utilizaremos un formulario con un Botón (Button1) y un DataGridView (DataGridView1). En el evento click de button1 uno copiamos el siguiente codigo y el nombre de la base de datos .mdb y el nombre de la tabla en la instrucción <a href="http://www.solovb.net/index.php/2009/01/11/sql-select/">SELECT</a>) para que todo funcione bien.</p>
<pre class="brush: vbnet; ruler: false; first-line: 1; highlight: [0]">
Dim cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myBaseAccess.mdb; User Id=admin;Password=;")

Dim da As New OleDbDataAdapter("SELECT * FROM Products", cnn)
Dim ds As New DataSet

da.Fill(ds)

DataGridView1.DataSource = ds.Tables(0)
</pre>
<p>Bueno, en realidad no hay mucho que explicar&#8230; se crea una conexión (cnn), luego un DataAdapter (da) que tiene como parámetro la instrucción para recuperar los datos (<a href="http://www.solovb.net/index.php/2009/01/11/sql-select/">SELECT</a>) y la conexión que debe utilizar (cnn). Si quieres seleccionar solo algunos registros deberás agregar una condición <a href="http://www.solovb.net/index.php/2009/01/11/sql-criterios/">WHERE</a> a la instrucción de selección.</p>
<p>En las lineas que siguen les dejo algunas breves definiciones por si a alguno le hicieran falta y para saber más de las distintas opciones para crear una conexión con Microsoft Access les dejo también el siguiente link: <a href="http://www.connectionstrings.com/access">http://www.connectionstrings.com/access</a></p>
<p><strong>DataAdapter</strong></p>
<p>Representa un conjunto de comandos SQL y una conexión de base de datos que se utilizan para rellenar el objeto DataSet y actualizar el origen de datos.<br />
DataAdapter actúa como puente entre DataSet y un origen de datos para la recuperación y el almacenamiento de datos. Para poder actuar como un puente, DataAdapter asigna el método Fill, que modifica los datos de DataSet de forma que coincidan con los del origen de datos, y asigna el método Update, que modifica los datos del origen de datos para hacerlos coincidir con los de DataSet.</p>
<p><strong>DataSet</strong></p>
<p>Representa una caché de memoria interna de datos. Es un componente fundamental de la arquitectura de ADO.NET. DataSet está compuesto por una colección de objetos DataTable.</p>
<p><strong>DataTable</strong></p>
<p>Representa una tabla de datos en memoria.<br />
DataTable es un objeto central de la biblioteca ADO.NET. Entre los objetos que utilizan DataTable se incluyen DataSet y DataView.</p>
<p>Al obtener acceso a los objetos DataTable, hay que tener en cuenta que éstos distinguen entre mayúsculas y minúsculas condicionalmente. Por ejemplo, si un objeto DataTable se denomina &#8220;mydatatable&#8221; y otro &#8220;Mydatatable&#8221;, la cadena que se utilice para buscar una de las tablas se considerará que distingue entre mayúsculas y minúsculas. Sin embargo, si existe &#8220;mydatatable&#8221; pero no existe &#8220;Mydatatable&#8221;, se considerará que la cadena de búsqueda no distingue entre mayúsculas y minúsculas. Un objeto DataSet puede contener dos objetos DataTable que tengan el mismo valor para la propiedad TableName y distintos valores para la propiedad Namespace.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-de-microsoft-access-y-llenar-datagridview/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Conectarse con base SQL Server y Llenar DataGridView</title>
		<link>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/</link>
		<comments>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 03:45:39 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[Ejemplos]]></category>
		<category><![CDATA[Conectar a SQL Server]]></category>
		<category><![CDATA[DataGridView]]></category>
		<category><![CDATA[Llenar DataGridView]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=115</guid>
		<description><![CDATA[En esta oportunidad vamos a ver como, de forma muy sensilla y con muy poco código, podemos establecer una conexión con un servidor de SQL Server, en mi caso SQL Server Express 2005,  y luego de recuperar los datos de una de las tablas para llenar con ellos un DataGridView.]]></description>
			<content:encoded><![CDATA[<p>En esta oportunidad vamos a ver como, de forma muy sensilla y con muy poco código, podemos establecer  en <a href="http://www.solovb.net">visual basic .net</a> una conexión con un servidor de SQL Server, en mi caso SQL Server Express 2005,  y luego de recuperar los datos de una de las tablas para llenar con ellos un DataGridView.</p>
<p>Lo primero que hay que hacer es importar dos espacios de nombres como muestro a continuación:</p>
<pre class="brush: vbnet; ruler: false; first-line: 1; highlight: [0]">
Imports System.Data
Imports System.Data.SqlClient
</pre>
<p>Para este ejemplo utilizaremos un formulario con un Botón (Button1) y un DataGridView (DataGridView1). En el evento click de button1 uno copiamos el siguiente codigo y modificamos algunos parámetros (Nombre o IP del Servidor, El Nombre de la base de datos y Nombre de la tabla en la instrucción <a href="http://www.solovb.net/index.php/2009/01/11/sql-select/">SELECT</a>) para que todo funcione bien.</p>
<pre class="brush: vbnet; ruler: false; first-line: 1; highlight: [0]">
Dim cnn As New SqlConnection("Data Source=MyServidor;Initial Catalog=MiBaseDeDatos;Integrated Security=SSPI;")

Dim da As New SqlDataAdapter("SELECT * FROM Productos", cnn)
Dim ds As New DataSet

da.Fill(ds)

DataGridView1.DataSource = ds.Tables(0)
</pre>
<p>Bueno, en realidad no hay mucho que explicar&#8230; se crea una conexión (cnn), luego un DataAdapter (da) que tiene como parámetro la instrucción para recuperar los datos (<a href="http://www.solovb.net/index.php/2009/01/11/sql-select/">SELECT</a>) y la conexión que debe utilizar (cnn). Si quieres seleccionar solo algunos registros deberás agregar una condición <a href="http://www.solovb.net/index.php/2009/01/11/sql-criterios/">WHERE</a> a la instrucción de selección.</p>
<p>En las lineas que siguen les dejo algunas breves definiciones por si a alguno le hicieran falta y para saber más de las distintas opciones para crear una conexión SQL Server 2005 les dejo también el siguiente link: <a href="http://www.connectionstrings.com/sql-server-2005">http://www.connectionstrings.com/sql-server-2005</a>.</p>
<p><strong>DataAdapter</strong></p>
<p>Representa un conjunto de comandos SQL y una conexión de base de datos que se utilizan para rellenar el objeto DataSet y actualizar el origen de datos.<br />
DataAdapter actúa como puente entre DataSet y un origen de datos para la recuperación y el almacenamiento de datos. Para poder actuar como un puente, DataAdapter asigna el método Fill, que modifica los datos de DataSet de forma que coincidan con los del origen de datos, y asigna el método Update, que modifica los datos del origen de datos para hacerlos coincidir con los de DataSet.</p>
<p><strong>DataSet</strong></p>
<p>Representa una caché de memoria interna de datos. Es un componente fundamental de la arquitectura de ADO.NET. DataSet está compuesto por una colección de objetos DataTable.</p>
<p><strong>DataTable</strong></p>
<p>Representa una tabla de datos en memoria.<br />
DataTable es un objeto central de la biblioteca ADO.NET. Entre los objetos que utilizan DataTable se incluyen DataSet y DataView.</p>
<p>Al obtener acceso a los objetos DataTable, hay que tener en cuenta que éstos distinguen entre mayúsculas y minúsculas condicionalmente. Por ejemplo, si un objeto DataTable se denomina &#8220;mydatatable&#8221; y otro &#8220;Mydatatable&#8221;, la cadena que se utilice para buscar una de las tablas se considerará que distingue entre mayúsculas y minúsculas. Sin embargo, si existe &#8220;mydatatable&#8221; pero no existe &#8220;Mydatatable&#8221;, se considerará que la cadena de búsqueda no distingue entre mayúsculas y minúsculas. Un objeto DataSet puede contener dos objetos DataTable que tengan el mismo valor para la propiedad TableName y distintos valores para la propiedad Namespace.<</p>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/02/03/conectarse-con-base-sql-server-y-llenar-datagridview/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>WHERE (estableciendo criterios en SQL)</title>
		<link>http://www.solovb.net/index.php/2009/01/11/sql-criterios/</link>
		<comments>http://www.solovb.net/index.php/2009/01/11/sql-criterios/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 16:50:46 +0000</pubDate>
		<dc:creator>Eliseo</dc:creator>
				<category><![CDATA[Bases de Datos]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.solovb.net/?p=71</guid>
		<description><![CDATA[Para muchas de las intrucciones SQL que utilizaremos será indispensable indicarle algún criterio para identificar cuales serán los registros involucrado en dicha instrucción, por ejemplo, si selecciono un listado telefónico de la tabla agenda puede que no quiera muestre todos los contactos, sino, solo aquellos que vivan en Buenos Aires. Para ello debería indicarle un [...]]]></description>
			<content:encoded><![CDATA[<p>Para muchas de las intrucciones SQL que utilizaremos será indispensable indicarle algún criterio para identificar cuales serán los registros involucrado en dicha instrucción, por ejemplo, si selecciono un listado telefónico de la tabla agenda puede que no quiera muestre todos los contactos, sino, solo aquellos que vivan en Buenos Aires. Para ello debería indicarle un criterio utilizando la cláusula WHERE cono se muestra a continuación:</p>
<pre class="brush: sql; title: ;">
SELECT apellido, nombre, telefono FROM agenda WHERE provincia = 'BUENOS AIRES'
</pre>
<p>A continuación mostraré varios ejemplos que muestren las opciones posibles.<br />
Todos los contactos que vivan en buenos aires y además sean mayores de 21 años:</p>
<pre class="brush: sql; title: ;">
SELECT apellido, nombre, telefono FROM agenda WHERE provincia = 'BUENOS AIRES' AND edad &gt; 21
</pre>
<p>Todas  las mujeres entre 20 y 27 años:</p>
<pre class="brush: sql; title: ;">
SELECT apellido, nombre, telefono FROM agenda WHERE Sexo = 'F' AND Edad &gt;= 20 AND edad &lt;= 27
</pre>
<p>Todos los contactos que vivan en Ituzaingó o en morón.<br />
Es importante aclarar que ningún contacto puede vivir en ituzaingó y en Morón. Vive en ituzaingó O vive en morón por lo que se debe utilizar la palabra clave OR para combinar los dos criterios.</p>
<pre class="brush: sql; title: ;">
SELECT apellido, nombre, telefono FROM agenda WHERE localidad = 'Ituzaingó' OR localidad = 'Morón'
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.solovb.net/index.php/2009/01/11/sql-criterios/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

