<?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>PortalSQL &#187; C#</title>
	<atom:link href="http://portalsql.com/index.php/category/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://portalsql.com</link>
	<description>Compartiendo conocimiento SQL</description>
	<lastBuildDate>Sun, 18 Dec 2011 19:15:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Buscador sencillo en c#</title>
		<link>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/</link>
		<comments>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 10:44:12 +0000</pubDate>
		<dc:creator>Miguel Egea</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Relacional]]></category>

		<guid isPermaLink="false">http://portalsql.com/?p=263</guid>
		<description><![CDATA[En un post del grupo de noticias un compañero tenía una duda sobre como crear buscadores, de forma que la consulta SQL no fuese muy compleja de tratar y escribir, a la vez que no tenga problemas de inyección de código y que cumpla con sus requisitos. Yo me he permitido escribir el código todo [...]]]></description>
			<content:encoded><![CDATA[<p>En un post del grupo de noticias un compañero tenía una duda sobre como crear buscadores, de forma que la consulta SQL no fuese muy compleja de tratar y escribir, a la vez que no tenga problemas de inyección de código y que cumpla con sus requisitos. Yo me he permitido escribir el código todo en C#, aunque me hubiese gustado escribir un procedimiento almacenado, creo que de forma didactica esto va a quedar más claro.</p>
<p><a href="http://www.portalsql.com/wp-content/uploads/2010/04/demo%20buscador.zip" target="_self">Desde aquí puedes bajarte la aplicacion en zip.</a></p>
<p>Espero que disfruteis el  post.</p>
<pre lang="c#">using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;

namespace Demo_Buscador
{
    public partial class Form1 : Form
    {
        SqlConnection con = new SqlConnection( ConfigurationManager.ConnectionStrings["AdventureWorks2008"].ConnectionString.ToString() ) ;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            DataTable dt=new DataTable();
            SqlDataAdapter da = new SqlDataAdapter("select DISTINCT PERSON.PersonType From Person.Person",con);
            da.Fill(dt);
            TipoPersona.DataSource = dt;
            TipoPersona.DisplayMember = "PersonType";

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string SQL = "SELECT * FROM Person.Person  ";
            string where="";
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = new SqlCommand();
            da.SelectCommand.Connection = con;
            if (TipoPersona.Text != null &amp;&amp; TipoPersona.Text!="")
            {
                TipoPersona.Text += "   ";
                da.SelectCommand.Parameters.Add("@PersonType",SqlDbType.NChar,2).Value=TipoPersona.Text.Substring(0,2);

                where += " PersonType=@PersonType AND ";

            }
            if (Nombre.Text != "")
            {
                da.SelectCommand.Parameters.Add("@name", SqlDbType.NVarChar, 50).Value = Nombre.Text;
                where += " LastName like @name  AND ";

            }

            if (where != "")
                SQL += " WHERE " + where.Substring(0, where.Length - 4);

            da.SelectCommand.CommandText = SQL;

            DataTable DT=new DataTable();
            da.Fill(DT);

            dataGridView1.DataSource = DT;

        }
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://portalsql.com/index.php/2010/04/buscador-sencillo-en-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

