Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ZecaLoteiro

Vb.net + SQL ?!

Recommended Posts

Olá, estou aprendendo a programar em VB.net, aprendi a fazer inclusões em banco de dados do access com ADO, porém gostaria de aprender a fazer isso com SQL, e se possivel num banco de dados de SQL mesmo....

Alguém pode me passar algum tutorial ou algum site onde eu possa estar aprendendo ?!

Olhei nos tutoriais aqui do site e não encontrei nada... Preciso desde o básico mesmo... desde criar tabela no SQL até incluir via VB.net...

 

Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Zeca!

 

Tenta o Site: http://www.macoratti.net

Nesse site você vai encontrar, quase tudo sobre o VB.Net, desde o Inicio, e o melhor, o conteudo continua sendo atualizado, quase que diariamente, pelo Macoratti e por Colaboradores.

Ali você vai achar, desde o VB calssico, e links para outros site que falam sobre VB, mas no Google ou outros buscadores você vai achar muita coisa, e apostila sobre SQL, tenta: http://apostilando.com.br

Ai você vai encontrar apostilas sobre os mais variados assuntos, inclusive programação.

Boa sorte e bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, aqui vai um modo bem simples, embora trabalhoso:

 

Inicialmente, você deverá ir no web.config e incluir a sua string de conexão, ela deverá estar parecida com a abaixo:

 

<configuration>

<appSettings>

<add key="cStrConexao" value="server=SeuServidor;uid=UsuárioDoBanco;pwd=SenhaDoBanco;database=NomeDaBaseDeDados"/>

</appSettings>

<connectionStrings>

<add name="cStrConexao2" connectionString="Data Source=SeuServidor;Initial Catalog=NomeDaBaseDeDados;User ID=UsuárioDoBanco;pwd=SenhaDoBanco" providerName="System.Data.SqlClient"/>

</connectionStrings>

<system.web>

 

Um detalhe importante!

A linha em azul será a linha utilizada no seu código VB. A conexão com o banco utilizada pelos componentes instanciados no código será feita nesta linha azul.

 

Já a linha vermelha, é usada pelo seu componente SQLDataSource da paleta Data do seu ToollBox, mas só se você for usar este componente.

 

 

Depois vá na sua página de códigos VB e no cabeçalho da sua página de códigos acrescente:

Imports System.Data.SqlClient

 

Agora vamos preparar os procedimentos de consulta, inserts, updates e deletes:

 

CONSULTAR DADOS:

 

Private Sub PovoaCursos()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

SQL.Append("SELECT * FROM TB_Cursos WHERE Cur_Nome LIKE '%" & TxtConsulta.Text & "%' ")

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Da.SelectCommand = Cm

Da.Fill(Ds)

DataGrid1.DataSource = Ds

DataGrid1.DataBind()

 

End Sub

 

GERANDO UM CONTADOR PARA SUA CHAVE PRIMÁRIA (CASO NÃO ESTEJA DEFINIDA NO BANCO COMO AUTOINCREMENTO):

 

Private Sub Contador()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

SQL.Append(" SELECT ISNULL(MAX(Cur_Codigo), 0) + 1 AS CODIGO ")

SQL.Append(" FROM TB_Cursos ")

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Da.SelectCommand = Cm

Da.Fill(Ds)

 

LbCodigo.Text = Ds.Tables(0).Rows(0)("Cur_Codigo")

 

End Sub

INSERIR OS DADOS:

 

Privat Sub Inseriri()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

 

Contador() 'Gera o número da chave primária chamando o procedimento anterior.

 

SQL.Append(" INSERT INTO TB_Cursos ")

SQL.Append(" (Cur_Codigo, Cur_Nome, Cur_Data) ")

SQL.Append(" VALUES (@vlCodigo, @vlNome, @vlData)")

With Cm.Parameters

.Add(New SqlParameter("@vlCodigo", CInt(LbCodigo.Text)))

.Add(New SqlParameter("@vlNome", Trim(TxtNome)))

If IsDate(TxtData.Text) Then .Add(New SqlParameter("@vlData", TxtData.Text)) Else .Add(New SqlParameter("@vlData", DBNull.Value))

End With

 

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Cx.Open()

Cm.ExecuteNonQuery()

Cx.Close()

End Sub

ALTERAR DADOS

 

Private Sub AssociaAlteracao()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

 

SQL.Append(" UPDATE TB_Cursos SET ")

SQL.Append(" Cur_Nome = @vlNome, Cur_Data = @vlData ")

SQL.Append(" WHERE Cur_Codigo = @vlCodigo ")

With Cm.Parameters

.Add(New SqlParameter("@vlNome", Trim(TxtNome)))

If IsDate(TxtData.Text) Then .Add(New SqlParameter("@vlData", TxtData.Text)) Else .Add(New SqlParameter("@vlData", DBNull.Value))

.Add(New SqlParameter("@Codigo", CInt(LbCodigo.Text)))

End With

 

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Cx.Open()

Cm.ExecuteNonQuery()

Cx.Close()

 

End Sub

EXCLUIR DADOS

 

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

SQL.Append("SELECT * FROM TB_Cursos WHERE Cur_Nome LIKE '%" & TxtConsulta.Text & "%' ")

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Da.SelectCommand = Cm

Da.Fill(Ds)

DataGrid1.DataSource = Ds

DataGrid1.DataBind()

 

End Sub

 

GERANDO UM CONTADOR PARA SUA CHAVE PRIMÁRIA (CASO NÃO ESTEJA DEFINIDA NO BANCO COMO AUTOINCREMENTO):

 

Private Sub Contador()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

SQL.Append(" SELECT ISNULL(MAX(Cur_Codigo), 0) + 1 AS CODIGO ")

SQL.Append(" FROM TB_Cursos ")

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Da.SelectCommand = Cm

Da.Fill(Ds)

 

LbCodigo.Text = Ds.Tables(0).Rows(0)("Cur_Codigo")

 

End Sub

INSERIR OS DADOS:

 

Privat Sub Inseriri()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

 

Contador() 'Gera o número da chave primária chamando o procedimento anterior.

 

SQL.Append(" INSERT INTO TB_Cursos ")

SQL.Append(" (Cur_Codigo, Cur_Nome, Cur_Data) ")

SQL.Append(" VALUES (@vlCodigo, @vlNome, @vlData)")

With Cm.Parameters

.Add(New SqlParameter("@vlCodigo", CInt(LbCodigo.Text)))

.Add(New SqlParameter("@vlNome", Trim(TxtNome)))

If IsDate(TxtData.Text) Then .Add(New SqlParameter("@vlData", TxtData.Text)) Else .Add(New SqlParameter("@vlData", DBNull.Value))

End With

 

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Cx.Open()

Cm.ExecuteNonQuery()

Cx.Close()

End Sub

ALTERAR DADOS

 

Private Sub ExcluirDados()

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

 

SQL.Append(" DELETE TB_Cursos ")

SQL.Append(" WHERE Cur_Codigo = " & CInt(LbCodigo.Tex))

 

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Cx.Open()

Cm.ExecuteNonQuery()

Cx.Close()

 

End Sub

CONSULTANDO DADOS NUMA DATAGRID E PASSANDO VALORES PARA OS CAMPOS

 

Protected Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand

If e.CommandName = "Cancel" Then

DataGrid1.CurrentPageIndex = 0

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

SQL.Append("SELECT * FROM TB_Cursos WHERE Cur_Codigo = " & e.Item.Cells(0).Text)

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Da.SelectCommand = Cm

Da.Fill(Ds)

 

LbCodigo.Text = Ds.Tables(0).Rows(0)("Cur_Codigo")

TxtNome.Text = Ds.Tables(0).Rows(0)("Cur_Nome")

If Not IsDBNull(Ds.Tables(0).Rows(0)("Cur_Data")) Then TxtData.Text = Ds.Tables(0).Rows(0)("Cur_Data") Else TxtData.Text = ""

End If

 

End Sub

Uma coisa interessante, é uma mensagem de confirmação de exclusão:

 

Na paleta ToolBox / Standart arrate o componente HiddenField e mude seu ID para hidden1

 

Depois copie o código java script abaixo para sua página aspx :

 

<script type="text/javascript">

function confirma(){

if (confirm('Deseja continuar?')){

document.getElementById('<%=hidden1.ClientID%>').value = "S";

}else{

document.getElementById('<%=hidden1.ClientID%>').value = "N";

}

}

</script>

 

No html do botão adicionar, deverá estar mais ou menos assim, sendo a linha em vermelho a chamada do evento de confirmação:

 

<asp:ImageButton ID="BtnExcluir" runat="server" ImageUrl="~/Imagens/BtnExcluir.jpg" OnClientClick="confirma()" /></td>

 

E, finalmente, no evento OnClick do botão voltando à sua tela de códigos VB:

 

If "S".Equals(Me.hidden1.Value) Then

ExcluirDados()

End If

Pronto, acho q a partir desse modelo já dá pra você fazer algo.

 

Espero ter ajudado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.