Controle de Transporte Escolar On-Line III

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (3)  (0)

Criação de um controle de Transporte escolar On-Line utilizando Visual Studio e Banco de dados Access e google Maps como Roteirizador.

Iniciando este novo tutorial vamos desenvolver a página de Cadastro de Séries.

Abra o Visual Web Developer e adicione uma nova página add/new itens, utilizando como base nossa Base-Master. E de o nome de Serie.aspx

Adicione nesta página uma Tabela contendo 4 linha  e 2 Colunas

E monte conforme figura abaixo.

De um Duplo clique no Botão Gravar, para abrir o editor de eventos e digite:

  Protected Sub btnGravar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGravar.Click

 

        If txtSerie.Text <> String.Empty Then

 

            'define a conexao com o banco de dados na pasta app data

            Dim strconn As String = "provider=microsoft.jet.oledb.4.0;data source =" & Server.MapPath("~/app_data\Transporte.mdb") & ";"

            'monta a instrução sql que vai incluir os dados na tabela.

            Dim mysql As String = "insert into Series(Serie)values(@Serie)"

            Dim myconn As New OleDbConnection(strconn)

            Dim cmd As New OleDbCommand(mysql, myconn)

 

   'preenche os parametros obtidos no formulario

  cmd.Parameters.Add(New OleDbParameter("@Serie", txtSerie.Text))

 

            'abre a conexao e executa o comando

            Try               

                myconn.Open()

                cmd.ExecuteNonQuery()

 

                lblmsg.Text = "Dados Gravados com Sucesso!!!"

                Response.Redirect("series.aspx")

            Catch

                lblmsg.Text = "Erro ao gravar os dados, consulte o administrador do site"

 

            Finally

         'fecha a tabela e a conexão se der erro

                myconn.Close()

            End Try

        End If

    End Sub

End Class

 

Obs.: Aqui vale uma ressalva:

Podemos criar a inserção de Dados através da Palheta Data/DetailsView

E na opção Choose Data Source Selecione New datasource

Na próxima tela que se abre, selecione o tipo de Banco de dados e de a ele um nome sugestivo.

A próxima tela será, a que escolheremos nosso banco de dados (transporte.mdb).

A seguir selecione nossa Tabela (Séries) e clique em Advance

Aqui selecione os 02 itens e clique em Ok.

Clique em finish até retornar a tela inicial.

Formate o  DetailsView  a seu gosto clicando em  Auto-Format e clique também nas opções Inserting, Editing,Deleting.

Rode o programa e verifique que a opção New acusa um erro ao tentarmos incluir algum dado.

Pontos a Analisar 

ü  O problema não ocorre se for utilizado um Banco de Dados SQL; 

ü  Há uma grande dificuldade em encontrar uma hospedagem gratuita para SQL;

ü  Não ocorre o problema se for utilizado outra plataforma, do tipo Microsoft Expression Web 2;

ü  Utilizando outra plataforma (Expression Web) não temos acesso a área de eventos;

ü  Utilizando o Banco de Dados Access, não há um acréscimo de Dados na tabela (autoIncremento);

ü  É possível editar e excluir os dados normalmente, pois não há acréscimo, só alterações na tabela.  Facilitando nosso trabalho;

ü  A uma excessiva gama de hospedagem gratuita para Access e MySQL na Internet;

ü  A migração de Access para Mysql é fácil de fazer (se for preciso);

ü  Temos apenas o trabalho de criar a parte de Inclusão de Dados.

ü  Não detectei a Solução do erro, criei apenas uma solução paliativa que funciona muito bem.  Ou seja, Criamos a Inserção, e a edição, exclusão e as consultas fazemos pelo modo mais fácil.

Então, o que fazer?

1º criar uma página para Inclusão e outra para Edição e Alteração

2º Fazer a Edição e Exclusão na mesma página, logo abaixo da tabela de Inserção através de um GridView.

Como a página de Inclusão já está feita, optei por criar uma nova página com o nome AlteraSerie.aspx e nela acrescentei da Guia DATA e Standard  01 Label,01textBox, 01 Button ,01GridView. Criando assim uma caixa de busca trazendo o resultado no GridView.

Nomeie o Textbox para txtlocalizar e de um clique duplo no botão localizar (btnlocalizar)

E digite na área de eventos:
 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

‘verifica se a cx de texto é diferente de zero ou vazia

        If (txtlocalizar.Text <> "") Then

‘localiza os dados digitados e o coloca na própria página (GridView)

 Response.Redirect("~/EditaSerie.aspx?Busca=" + txtlocalizar.Text)

        End If

    End Sub

End Class

 O GridView

Aqui, a diferença é que nosso Gridview apenas irá retornar o que foi digitado no Textbox, faça o mesmo procedimento anterior criando um Datasource e na área Advance selecione apenas o primeiro item.

Na mesma tela agora selecione a opção Where

Aqui Vale uma ressalva:

ü  Columm é o dado que queremos pesquisar, ou seja, o nome ou o código;

ü  Operator utilizamos o LIKE (busca parcial por letras parecidas) se fosse o sinal de igual você terá que digitar como foi cadastrado o dado.

ü  QueryString, Parâmetro de Busca;

ü  QueryStringField, O mesmo que foi digitado no btnLocalizar

ü  Response.Redirect("~/EditaSerie.aspx?Busca=" + txtlocalizar.Text)

 

Clique em Add, e em seguida Ok. Até retornar a tela inicial.

Formate o GridView a seu gosto  e selecione os itens Editing,Deleting,Paging e Sorting, altere também em Properties a opção PageSize para 5.

 
  

Retorne a pagina de Cadastro de Séries e no botão Editar/Excluir altere a propriedade PostBackURL para abrir nossa página de Edição.

Teste e verifique se faz a Inclusão, edição e exclusão.

As páginas de Cadastro de Escolas, Horários, TipoTransporte,Transporte, deixo por conta de vocês.

 

Até o próximo Tutorial, onde abordaremos a área Administrativa, a área da Intranet e a criação de diversos tipos de Consultas.  Até lá.

 

Dúvidas ou dicas: cmsofter@hotmail.com

Previsão para o próximo tutorial 07/05/2009

 

At.

 

Cláudio Medeiros dos Santos

 

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?