• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Cirilo7

Actualizar dados/pesquisar dados

22 mensagens neste tópico

Olá a todos! mais uma vez estou a precisar da vossa ajuda! :P

estou com um problemita no meu programa.

Se adicionar os dados em textbox's e carregar uma foto e guardar o programa guarda-me esses dados na boa. O problema é que se eu quiser eliminar esses dados( que estão numa outra form), estes não aparecem.tenho que parar o programa e voltar a inicia-lo para puder ver os dados que tinha guardado anteriormente. como é que consigo resolver este problema??

já agora quanto à pesquisa tenho o seguinte código:

  Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()

dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Application.StartupPath + "\..\..\moedas.mdb;"

        Dim strQuery As String = "Select País, Ano, Valor, Estado,Época,Tipo,Valven,Metal,Repetidas,Observações,pic from gescoin where pais like '" & pais.text & '%""

estou usando o OLEDB na conexao À bd.

este código não me faz nada! qual é o problema?? :S:/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

em relação a 1 questão não percebi muito bem, mas também acho que não te sei dar uma explicação...

em relação a 2ª...

 Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()
dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Application.StartupPath + "\..\..\moedas.mdb;"
        Dim strQuery As String = "Select País, Ano, Valor, Estado,Época,Tipo,Valven,Metal,Repetidas,Observações,pic from gescoin where pais like '" & pais.text & '%""

a directoria esta bem escrita???

vejo por aí aspas a mais...

CUMPS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

penso que seria mais assim:

Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()
dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =  + Application.StartupPath +\..\..\moedas.mdb;"
        Dim strQuery As String = "Select País, Ano, Valor, Estado,Época,Tipo,Valven,Metal,Repetidas,Observações,pic from gescoin where pais like '" & pais.text & '%""

mas esta parte = \..\..  é suspeita...é mesmo essa a directoria??? nem 0 ( C:\  ) tens aí....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o c:\ está contemplado no Application.StartupPath

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja agora... o que é que estas a fazer com a instrução de sql que tens ai escrita? e como vês que não esta a fazer nada....

Já agora... experimenta mudar ai um pormenor

<b>pais like '%" & pais.text & " %'"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o problema que me está a surgir é que eu guardo os dados numa form e se quiser eliminar esses dados que inseri (existe uma outra form para eliminar os dados), tenho que voltar  a fazer o load do programa para ver esses dados na form delete, ou seja, o programa não me está a fazer o update dos dados que insiro na db. é necessário fazer um novo load para ver os dados inseridos na form delete.

a bd é em access e o objecto é em oledb. o código que uilizo para guardar é este:

        Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()
        dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Application.StartupPath + "\..\..\moedas.mdb;"
        Dim strQuery As String = "INSERT INTO gescoin (País, Ano, Valor, Estado,Época,Tipo,Valven,Metal,Repetidas,Observações,pic) VALUES(@País, @Ano, @Valor,@Estado,@Época,Tipo,@Valven,@Metal,@Repetidas,@Observações,@pic)"

        Dim dbCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(strQuery, dbConn)
        dbCmd.Parameters.AddWithValue("@País", pais.Text)
        dbCmd.Parameters.AddWithValue("@Ano", ano.Text)
        dbCmd.Parameters.AddWithValue("@Valor", valor.Text)
        dbCmd.Parameters.AddWithValue("@Estado", estado.Text)
        dbCmd.Parameters.AddWithValue("@Época", epoca.Text)
        dbCmd.Parameters.AddWithValue("@Tipo", tipo.Text)
        dbCmd.Parameters.AddWithValue("@Valven", valven.Text)
        dbCmd.Parameters.AddWithValue("@Metal", metal.Text)
        dbCmd.Parameters.AddWithValue("@Repetidas", repetidas.Text)
        dbCmd.Parameters.AddWithValue("@Observações", obser.Text)
        dbCmd.Parameters.AddWithValue("@pic", campo.text)

        dbConn.Open()
        dbCmd.ExecuteNonQuery()
        GescoinTableAdapter.Update(Me.MoedasDataSet)

para eliminar é este:

Dim dbConn As OleDb.OleDbConnection = New OleDb.OleDbConnection()
        dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = " + Application.StartupPath + "\..\..\moedas.mdb"

        Dim x As String

        x = "DELETE FROM gescoin WHERE ID=" & number.Text

        Dim strQuery As String = x

        Dim dbCmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(strQuery, dbConn)

        dbConn.Open()
        dbCmd.ExecuteNonQuery()
        GescoinBindingSource.RemoveCurrent()
        GescoinTableAdapter.Update(Me.MoedasDataSet)

posso contar convosco ??

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sou grande gajo de vb mas o motivo pelo qual tens de fazer o load novamente é porque possivelmente é nesse método que estás a preencher e/ou actualizar os campos da ligação com os dados da Base de Dados... Ou seja, se copiares o código (ou criares um método e fazeres a chamada onde quiseres) que preenche os campos para o load da form que queres que actualize deve funcionar...

Só disse isto porque desconfio que andes na minha escola:) pois vb nunca utilizei muito e certamente nesta comunidade alguém te vai ajudar melhor...

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o problema que me está a surgir é que eu guardo os dados numa form e se quiser eliminar esses dados que inseri (existe uma outra form para eliminar os dados), tenho que voltar  a fazer o load do programa para ver esses dados na form delete, ou seja, o programa não me está a fazer o update dos dados que insiro na db. é necessário fazer um novo load para ver os dados inseridos na form delete.

Onde estás a carregar os dados, ou seja, o que tens de actualizar para veres se foi apagado ou não ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

peço desculpa pela demora!!

ando muito ocupado ultimamente :/

bem o problema que me está a surgir é k kando eu guardo os dados na form do add, e os quiser eliminar logo se seguida isso não dá, ou seja, os dados k inseri não são postos automatikamente na form do delete, não existe actualização dos dados. tenho que sair do programa e voltar a fazer o loading do programa para os dados que inseri me aparecerem na form delete.

não sei como fazer para acutalizar os dados sem ser necessario desligar o programa!

algeum me ajuda??

(ando mesmo à rasca, HELP ME PLEASE)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes sempre por um botão do género " Refresh "

Em que dizes:

Me.TABELATableAdapter.Fill(Me.A_TUA_BASE_DE_DADOSDataSet.TABELA)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois esse codigo ja o tentei, mas dá-me um erro o codigo

nao reconhece o codigo.

;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

me.TABELATableAdapter.Update(Me.BASE_DE_DADOSDataSet)

ou

me.TABELATableAdapter.Updateall(Me.BASE_DE_DADOSDataSet)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

continua a nao dar!!!

;)

tenhu uma form k é o menu k ten 2 botoes sendo eles o adicionar e o eliminar k dao acesso a outars forms.

s fixer o refresh nu botao eliminar atraves do codigo  Me.GescoinTableAdapter.Fill(Me.MoedasDataSet.gescoin), este codigo dáme erro neste botao. ;(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lol, rapaz não é no botão eliminar que poems esse código...

Tens de criar um butão novo e é lá que poems o código.

Estás a usar DataSource, ou as tabelas etc, é tudo via código?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem eu nao queria muito clicar num botao para actualizar

gostava que isso fizesse automaticamente

eu estou a usar a bd em access e estou a usar um dataset

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Atenção à escrita! Isto não é um telemóvel e existe um verificador ortográfico quando há dúvidas ;)

Tu tens um INSERT statement já fizeste um UPDATE statement ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

peço desculpa pela escrita!  ;)

pois o UPDATE ainda nao o fiz

pensei que com o fill ou com um update isso se resolvesse

afinal parece que não

:/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu também estou com esse " problema ".

Não o considero problema, pois não tenho problemas nenhuns, em ter um botão porreiro que diga "Actualizar".

É simples, e não faz assim tanta diferença. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois, mas nao faz muito sentido ter que carregar num botao para se poder actualizar os dados certo??

devia fazer isso automaticamente.

já viste o que era inserir 50 dados i grava-los e em cada 10 reparar que se enganou ou ter que eliminar os dados, já viste as vezes que não é precisso carregar no botao??

complicado nao??

bem se alguem me poder ajudar neste pequena grande duvida agradecia ;)

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não entendi!

Então tens um form com várias textboxes, comboboxes, etc, e queres que te grave automaticamente é isso ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem, eu tenho uma form na qual lhe atribuí o nome de menu

na form menu tem 2 botoes(adiiconar/apagar)

estes dois botoes dao acesso a novas forms

em cada form tem textbox(estas tetxbox sao igual nas duas forms(form add/form del)

pretendia que ao guardar os dados inseridos na tetxbox da form add os dados se actualizasem logo de imediato de maneira a serem visiveis na form dele, o qual actualmente nao acontece.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bastante fácil e pratico, após o código do INSERT façam um update a datagrid

"SELECT * FROM ... blá blá blá

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora