<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Renato Haddad</title><link>http://weblogs.asp.net/renatohaddad/default.aspx</link><description>MVP, Developer .NET and MS-Office, MCPD, MCTS</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Workshops de 8h com Renato Haddad - pesquisa</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/11/11/workshops-de-8h-com-renato-haddad-pesquisa.aspx</link><pubDate>Wed, 11 Nov 2009 17:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7251568</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7251568</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/11/11/workshops-de-8h-com-renato-haddad-pesquisa.aspx#comments</comments><description>Algumas pessoas me pediram para realizar workshops (LINQ, ASP.NET, Windows Mobile e Melhores Práticas) de 8h como fiz no início do ano. Sendo assim, para viabilizar a realização dos mesmos preciso ter público disposto a participar. Estou montando turmas para dezembro/2009 em São Paulo. Se você estiver interessado em participar, por favor responda esta pesquisa &lt;A href="http://www.renatohaddad.com/pesquisaRH.aspx" mce_href="http://www.renatohaddad.com/pesquisaRH.aspx"&gt;pesquisa&lt;/A&gt;. Qualquer dúvida, por favor me contate no email rehaddad@msn.com&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7251568" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/workshops/default.aspx">workshops</category></item><item><title>Como enviar um SMS em .NET com o Windows Mobile?</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/11/10/como-enviar-um-sms-em-net-com-o-windows-mobile.aspx</link><pubDate>Tue, 10 Nov 2009 16:37:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7250664</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7250664</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/11/10/como-enviar-um-sms-em-net-com-o-windows-mobile.aspx#comments</comments><description>Tenho recebido muitos emails pedindo um código para envio de SMS em .NET. Então, resolvi postar aqui o código. Adicione a referência a seguir no projeto Smart Device&amp;nbsp;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt; 
&lt;P&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Microsoft.WindowsMobile.PocketOutlook;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;Em seguida use o SmsMessage passando o telefone e a mensagem a ser enviada.&lt;/P&gt;O método Send do objeto em si é que envia a operadora do celular, mas não garante a entrega pois quem faz isto é a operadora do celular.&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt; SmsMessage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; sms = &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;SmsMessage&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;(Telefone, Mensagem);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;sms.Send();&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Mas nada de ficar codificando isto em WinForms ou ASP.NET, somente no Windows Mobile. Boa sorte!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7250664" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/windows+mobile+6/default.aspx">windows mobile 6</category></item><item><title>Visual Studio 2010 beta 2 disponível</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/10/22/visual-studio-2010-beta-2-dispon-237-vel.aspx</link><pubDate>Thu, 22 Oct 2009 23:33:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7236481</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7236481</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/10/22/visual-studio-2010-beta-2-dispon-237-vel.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pra quem é fã de versões betas, a MS lançou o beta 2 do VS 2010 &lt;A href="http://msdn.microsoft.com/pt-br/vstudio/dd582936(en-us).aspx"&gt;http://msdn.microsoft.com/pt-br/vstudio/dd582936(en-us).aspx&lt;/A&gt;&amp;nbsp;Eu pretendo instala-lo assim que possível, pois tenho acompanhado o VS 2010 em todas as versões. Boa sorte.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7236481" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/VSTS+2010/default.aspx">VSTS 2010</category></item><item><title>Celular da Microsoft - briga de gigantes</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/10/17/celular-da-microsoft-briga-de-gigantes.aspx</link><pubDate>Sat, 17 Oct 2009 21:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7232178</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7232178</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/10/17/celular-da-microsoft-briga-de-gigantes.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Como já era de se esperar, a MS lançou o Windows Phone, o próprio telefone da empresa com o Windows Mobile 6.5.&lt;/P&gt;
&lt;DIV style="FONT: 10pt Tahoma"&gt;&lt;SPAN lang=PT-BR&gt;&lt;A href="http://portal.rpc.com.br/gazetadopovo/tecnologia/conteudo.phtml?tl=1&amp;amp;id=932987&amp;amp;tit=O-imperio-das-janelinhas-contra-ataca"&gt;&lt;FONT color=#0000ff&gt;http://portal.rpc.com.br/gazetadopovo/tecnologia/conteudo.phtml?tl=1&amp;amp;id=932987&amp;amp;tit=O-imperio-das-janelinhas-contra-ataca&lt;/FONT&gt;&lt;/A&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;A briga aqui é de gigantes, apple, google, MS e aí vaí. Bom pra todos os consumidores.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7232178" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/windows+mobile+6/default.aspx">windows mobile 6</category></item><item><title>Artigo sobre LINQ com o GridView do ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/10/08/artigo-sobre-linq-com-o-gridview-do-asp-net.aspx</link><pubDate>Thu, 08 Oct 2009 23:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7225815</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7225815</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/10/08/artigo-sobre-linq-com-o-gridview-do-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;oi Pessoal, estive fora por 15 dias de férias e acabei não postando nada. Agora que voltei, estou anunciando um novo artigo meu que foi publcado no ste da Microsoft &lt;A href="wlmailhtml:{E0C790FE-CE99-4028-B118-838B0B497D76}mid://00000192/!x-usc:http://msdn.microsoft.com/pt-br/library/ee518661.aspx"&gt;&lt;FONT color=#0000ff&gt;http://msdn.microsoft.com/pt-br/library/ee518661.aspx&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;onde falo sobre o uso do LINQ com o controle GridView do ASP.NET. A idéia é bem legal para que vc possa ter uma idéia de como vincular uma coleção direto na fonte do GridView. Abordei de forma simples e objetiva. Aproveite.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7225815" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>De onde surgem tantas idéias?</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/23/de-onde-surgem-tantas-id-233-ias.aspx</link><pubDate>Wed, 23 Sep 2009 14:35:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7214905</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7214905</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/23/de-onde-surgem-tantas-id-233-ias.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Muitas pessoas já me perguntaram o que faço pra ter tantas idéias de projetos, livros, DVDs, vídeos, etc.Respondo que as melhores&amp;nbsp;ocorrem&amp;nbsp;em momentos de relaxamento ou adrenalina.&amp;nbsp;Como cada um tem uma válvula de escape, a minha sempre foram os esportes e acabei publicando um vício que tenho:&amp;nbsp;&lt;A href="http://www.renatohaddad.com/kitesurf/relaxkite.html"&gt;http://www.renatohaddad.com/kitesurf/relaxkite.html&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Escrever um artigo é um tanto simples, mas um livro requer muito planejamento do escopo, da estrutura, do texto, dos exemplos, enfim, é um grande projeto. O fato é que se a tecnologia é nova, como o LINQ, por exemplo, vc tem que estudar e pesquisar muito, para depois sim escrever.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Já para os DVDs que criei sempre foram em função dos treinamentos, desenvolvimentos&amp;nbsp;e consultorias que ministro. O negócio é captar certas idéias e amadurece-las para tornar um produto.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Enfim, curtam o vídeo do kitesurf.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7214905" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/relax/default.aspx">relax</category></item><item><title>Novo DVD de LINQ TO SQL e ENTITY FRAMEWORK Avançado</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/22/novo-dvd-de-linq-to-sql-e-entity-framework-avan-231-ado.aspx</link><pubDate>Tue, 22 Sep 2009 14:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7214046</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7214046</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/22/novo-dvd-de-linq-to-sql-e-entity-framework-avan-231-ado.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Acabou de sair do forno, ou seja, lancei mais um DVD de treinamento, e este é sobre Linq To SQL e Entity Framework Avançado. Veja os detalhes em &lt;A href="http://www.linhadecodigo.com.br/CDDVD.aspx?id=3869"&gt;http://www.linhadecodigo.com.br/CDDVD.aspx?id=3869&lt;/A&gt;&amp;nbsp;e no &lt;A href="http://www.renatohaddad.com/"&gt;www.renatohaddad.com&lt;/A&gt; . São 4 horas de aprendizado desta fantástica tecnologia o qual estou mergulhado em aprender cada vez mais.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Espero que gostem e sugestões, elogios e críticas são sempre bem-vindas. Bons estudos.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7214046" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/entity+framework/default.aspx">entity framework</category></item><item><title>Ler dados de uma lista no ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/ler-dados-de-uma-lista-no-asp-net.aspx</link><pubDate>Tue, 15 Sep 2009 18:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7206917</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7206917</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/ler-dados-de-uma-lista-no-asp-net.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Tenho recebido muitos emails me questionando sobre como ler dados selecionados de contoles ListBox (MultiSelect) e CheckBoxList no ASP.NET. Então, aqui está um código para ajudá-lo. Usei o Generics de int chamado filtro, o qual a cada iteração no looping verifico se o item está selecionado. Caso esteja, adiciono-o ao filtro. Ao final, teremos todos os itens selecionados na coleção filtro. Note ainda que usei o ListItem no foreach, mas infelizmente isto não existe no windows forms, só no asp.net.&lt;/P&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;gt; filtro = &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;List&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&amp;gt;();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;foreach&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; (&lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;ListItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cat &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;in&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cblCategorias.Items)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;if&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; (cat.Selected)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;{&lt;/P&gt;filtro.Add(&lt;/FONT&gt;&lt;FONT color=#2b91af size=5&gt;&lt;FONT color=#2b91af size=5&gt;Convert&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;.ToInt16(cat.Value));&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;boa sorte. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7206917" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Declaração de parâmetros no VB.NET - ntier</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/declara-231-227-o-de-par-226-metros-no-vb-net-ntier.aspx</link><pubDate>Tue, 15 Sep 2009 17:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7206902</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7206902</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/15/declara-231-227-o-de-par-226-metros-no-vb-net-ntier.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Num desenvolvimento em camadas onde a camada de acesso a dados utiliza parâmetros, veja um código de como delarar quantos parâmetros forem necessários. Note que usei um Hahtable e, para ler os parâmetros usei o foreach com um DictionaryEntry. Isto permite receber uma coleção de parâmetros e adicioná-los ao Command.&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Public&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Class&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; CamadaDados&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; conexao &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; = &lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"data source=MARTE; Initial Catalog=Northwind; Integrated Security=True"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Function&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; GetData(&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; sql &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;ByVal&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; parametros &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Hashtable) &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; myTable &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; conn &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlConnection(conexao)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; cmd &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlCommand(sql, conn)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;conn.Open()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=5&gt;&lt;FONT color=#008000 size=5&gt;' adicionar os parametros ao Command - chave / valor&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Item &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DictionaryEntry &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; parametros&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;cmd.Parameters.AddWithValue(Item.Key.ToString(), Item.Value)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; reader &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; SqlDataReader = cmd.ExecuteReader()&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;myTable = &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; DataTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;myTable.Load(reader)&lt;/P&gt;
&lt;P&gt;reader.Close()&lt;/P&gt;
&lt;P&gt;conn.Close()&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Using&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Return&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; myTable&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; ex &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; Exception&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Throw&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; ex&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Try&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Function&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;
&lt;P&gt;End&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000 size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;Class&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;Agora veja o código que irá consumir esta função, evitando a injeção de SQL. Note que declarei apenas 1 parâmetro, mas vc pode declarar diversos.&lt;/P&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;
&lt;P&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; sql &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=5&gt;&lt;FONT color=#0000ff size=5&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; = &lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"Select * from Products Where CategoryID=@cat"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;parametros.Add(&lt;/FONT&gt;&lt;FONT color=#a31515 size=5&gt;&lt;FONT color=#a31515 size=5&gt;"@cat"&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt;, 1)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=5&gt; 
&lt;P&gt;DataGridView1.DataSource = objDados.GetData(sql, parametros)&lt;/P&gt;&lt;/FONT&gt;Boa sorte nos códigos. 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7206902" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/vb.net/default.aspx">vb.net</category></item><item><title>Videos free para aprender ASP.NET</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/09/11/videos-free-para-aprender-asp-net.aspx</link><pubDate>Fri, 11 Sep 2009 23:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7201544</guid><dc:creator>renatohaddad</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7201544</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/09/11/videos-free-para-aprender-asp-net.aspx#comments</comments><description>A Microsoft acabou de publicar 3 vídeos meus sobre os seguintes temas: &lt;BR&gt;- GridView com LINQ - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461394.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461394.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;- Dynamic Data parte 1 - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461391.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461391.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;- Dynamic Data parte 2 - &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/ee461393.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/ee461393.aspx&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;O link da página de ASP.NET no msdn é: &lt;A href="http://msdn.microsoft.com/pt-br/asp.net/default.aspx"&gt;http://msdn.microsoft.com/pt-br/asp.net/default.aspx&lt;/A&gt; &amp;nbsp;&lt;BR&gt;&lt;BR&gt;Quem sabe você já aproveita o final de semana pra aprender algo novo. Boa sorte e comentários são sempre bem-vindos, por favor fique à vontade para sugerir algo, criticar e elogiar. Usem o meu email &lt;A href="mailto:rehaddad@msn.com"&gt;rehaddad@msn.com&lt;/A&gt;&amp;nbsp; &lt;BR&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7201544" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Fontes da palestra de Dicas e Truques do LINQ, EF e Lambda Expressions</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/fontes-da-palestra-de-dicas-e-truques-do-linq-ef-e-lambda-expressions.aspx</link><pubDate>Wed, 26 Aug 2009 17:09:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7182169</guid><dc:creator>renatohaddad</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7182169</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/fontes-da-palestra-de-dicas-e-truques-do-linq-ef-e-lambda-expressions.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pessoal,&amp;nbsp;os fontes que utilizei na minha palestra no TechEd 2009 Brasil não vou publicar disponibilizar on-line pq no meu livro LINQ com C# e nos DVDs de LINQ To SQL e Crie uma aplicação ASP.NET com LINQ&amp;nbsp; vcs encontram muitos exemplos que usei. Bom, no meu site vc encontra os links para adquirir os produtos. Vale dizer que aqui no blog em muitas dicas de linq, basta selecionar a tag de LINQ para ver toda a relação.&lt;/P&gt;
&lt;P&gt;Em breve vou lançar um DVD avançado de LINQ To SQL e Entity Framework. Para receber o aviso, se cadastre no &lt;A href="http://www.renatohaddad.com/"&gt;www.renatohaddad.com&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Amanhã irei palestrar sobre as novidades do Entity Framework 4 as 10h30.&lt;/P&gt;
&lt;P&gt;[]s Renatão&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7182169" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Artigos do ASP.NET Dynamic Data no TechEd 2009</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/artigos-do-asp-net-dynamic-data-no-teched-2009.aspx</link><pubDate>Wed, 26 Aug 2009 17:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7182158</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7182158</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/26/artigos-do-asp-net-dynamic-data-no-teched-2009.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pessoal, algumas pessoas me questionaram os links dos meus artigos sobre o ASP.NET Dynamic Data que exibi no&amp;nbsp;TechEd 2009 hj 26/Ago. Aqui estão os links:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/pt-br/library/dd560511.aspx"&gt;http://msdn.microsoft.com/pt-br/library/dd560511.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://msdn.microsoft.com/pt-br/library/dd871162.aspx"&gt;http://msdn.microsoft.com/pt-br/library/dd871162.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Bos sorte e estude bastante pq isto é show mesmo. []s Renatão&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7182158" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>TechEd 2009 tá chegando - de 25 a 27/Agosto/2009</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/19/teched-2009-t-225-chegando-de-25-a-27-agosto-2009.aspx</link><pubDate>Wed, 19 Aug 2009 18:07:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7173915</guid><dc:creator>renatohaddad</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7173915</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/19/teched-2009-t-225-chegando-de-25-a-27-agosto-2009.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Pessoal, o TechEd Brasil está chegando, será em SP de 25 a 27/agosto/2009 e para quem for, irei ministrar as seguintes palestras:&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;DAT - DAT202 – 200&lt;BR&gt;Novidades do Entity Framework 4.0&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10.5pt; mso-fareast-font-family: 'Times New Roman'"&gt;DAT - DAT401 – 400&lt;BR&gt;Dicas e truques do LINQ, Entity Framework, Linq to SQL e Expressões Lambda&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; 
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10.5pt; mso-ansi-language: PT-BR; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: PT-BR; mso-bidi-language: AR-SA"&gt;WEB - WEB303 – 300&lt;BR&gt;Explorando o ASP.NET Dynamic Data&lt;BR style="mso-special-character: line-break"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10.5pt; mso-ansi-language: PT-BR; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: PT-BR; mso-bidi-language: AR-SA"&gt;Já tenho todas as demos prontas no estilo Renato Haddad, entenda-se, código, código e mais código. Especialmente a palestra de Dicas e truqes de LINQ e Lambda preparei város exemplos reais do dia a dia de um desenvolvedor. Depois desta palestra, dificilmente vc não irá usar estes fantásticos recursos do Lambda e LINQ.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10.5pt; mso-ansi-language: PT-BR; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: PT-BR; mso-bidi-language: AR-SA"&gt;Vou sortear DVDs e um livro nas palestras. Nos vemos lá. []s Renatão&lt;BR style="mso-special-character: line-break"&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7173915" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/teched/default.aspx">teched</category></item><item><title>Convertendo e Validando dados Text para int no C#</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/11/convertendo-e-validando-dados-text-para-int-no-c.aspx</link><pubDate>Wed, 12 Aug 2009 01:35:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7167026</guid><dc:creator>renatohaddad</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7167026</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/11/convertendo-e-validando-dados-text-para-int-no-c.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Em certos casos de uma interface de usuário onde é preciso verificar se o campo é numérico ou não, use o TryParse. veja o código a seguir onde a variável qtde (do tipo int) está referenciada no out do TryParse. ele retorna true/false e se converter, beleza; caso contrário vc trata.&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 14pt; mso-ansi-language: EN-US" lang=EN-US&gt;int&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt; mso-ansi-language: EN-US" lang=EN-US&gt; qtde;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt; mso-ansi-language: EN-US" lang=EN-US&gt;&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt; mso-ansi-language: EN-US" lang=EN-US&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt;.TryParse(txtQtde.Text.Trim(), &lt;SPAN style="COLOR: blue"&gt;out&lt;/SPAN&gt; qtde) == &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #2b91af"&gt;MessageBox&lt;/SPAN&gt;.Show(&lt;SPAN style="COLOR: #a31515"&gt;"mensagem"&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 14pt"&gt;}&lt;/SPAN&gt; 
&lt;P mce_keep="true"&gt;
&lt;P mce_keep="true"&gt;O VB.NET também aceita isto, mas o VB.NET tem o IF (IsNumeric(txtQtde.Text)... Bendito VB.NET :)&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7167026" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/.net/default.aspx">.net</category></item><item><title>Pesquisas Where com o LINQ com vários elementos</title><link>http://weblogs.asp.net/renatohaddad/archive/2009/08/07/pesquisas-where-com-o-linq-com-v-225-rios-elementos.aspx</link><pubDate>Fri, 07 Aug 2009 21:05:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7163851</guid><dc:creator>renatohaddad</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/renatohaddad/rsscomments.aspx?PostID=7163851</wfw:commentRss><comments>http://weblogs.asp.net/renatohaddad/archive/2009/08/07/pesquisas-where-com-o-linq-com-v-225-rios-elementos.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Existem situações nas aplicações onde é preciso usar vários critérios numa pesquisa, por exemplo, como saber quais clientes cadastrados das cidades a, b, c, etc? com o linq o uso do Where facilita muito. Baseado no banco de dados Northwind, veja um código onde carrego a listbox cidades somente com os nomes das cidades contidas na classe (tabela) Customers. O Distinct já filtra somente cidades únicas.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;FONT size=4&gt;lstCidades.DataSource = &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;From&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; db.Customers &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Select&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c.City &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Distinct&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Agora, veja o código para uma pesquisa comum com apenas uma cidade selecionada:&lt;/P&gt;&lt;FONT size=4&gt;
&lt;P&gt;gridDados.DataSource = &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;From&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; db.Customers &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Order&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;By&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c.City &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Where&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c.City.&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Equals&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;(lstCidades.Text)&lt;/P&gt;&lt;/FONT&gt;Muito bem. Agora é que vem o truque. se setar a propriedade SelectionMode para MultiSimple do listbox,irá permitir o usuário selecionar várias opções do listbox. E, como fica o código da pesquisa? Com o LINQ é preciso pensar um pouco diferente, pois primeiro é preciso definir uma lista com todas as cidades selecionadas - veja que usei o Generics List(Of String) com um looping For Each para varrer somente os ítens selecionados do lstCidades. A cada iteraçáo o respectivo item (neste caso o nome da cidade) é adicionada à variável cidade (que é a lista com Generics).&amp;nbsp;Em seguida, observe como que&amp;nbsp;defini o critério de forma contrária, pois o&amp;nbsp;linq é assim, ou seja, normalmente vc pensa onde (where)&amp;nbsp;a propriedade cidade (c.City) contiver (Contains)&amp;nbsp;a lista de cidades. Mas, o correto é onde Where a lista cidades contiver&amp;nbsp;a&amp;nbsp;propriedade cidade (veja a última&amp;nbsp;linha de código).&amp;nbsp;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt; 
&lt;P&gt;Dim&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; cidades &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;As&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;New&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; List(&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Of&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;String&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;For&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Each&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; Item &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; lstCidades.SelectedItems&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; 
&lt;P&gt;cidades.Add(Item.ToString)&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Next&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt;
&lt;P&gt;gridDados.DataSource = &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;From&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;In&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; db.Customers &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Order&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;By&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; c.City &lt;/FONT&gt;&lt;FONT color=#0000ff size=4&gt;&lt;FONT color=#0000ff size=4&gt;Where&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=4&gt; cidades.Contains(c.City)&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;É&amp;nbsp;isto, aqui está mais uma sensacional dica do LINQ. Caso queira aprender o linq com C#, leia o meu livro &lt;A href="http://www.editoraerica.com.br/buscafinal.asp?cod=2366"&gt;http://www.editoraerica.com.br/buscafinal.asp?cod=2366&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Boa sorte e viva o LINQ !!!&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7163851" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/renatohaddad/archive/tags/LINQ/default.aspx">LINQ</category></item></channel></rss>