Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida com rotinas basicas


Pépe

Pergunta

Bom, preciso de ajuda de nivel academico com algumas rotinas.. pro exemplo essa de atualização.

coisa bem simples... estou tentando trocar um nome usando como referencia o telefone.

vejam...

Dim nome As String = Me.TextBox1.Text
        Dim telefone As String = Me.TextBox2.Text

        Me.OleDbCommand1.CommandText = "update tabela1 set (nome) ('" & nome & "') where (telefone) = ('" & telefone & "')"
        Me.OleDbConnection1.Open()
        Me.OleDbCommand1.ExecuteReader()
        MsgBox("dados atualizados")

bom,, esse comando ai na linha 4 eu chetei... pois deve ser algo parecido com isso.

e esta travando na hora de executar. ((linha 6))

alguém ai pode me mostrar como fica a linha 4?

e qualquer outra observação sera muito bem vinda e anotada.

obrigado

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

cara isso é .net, não é visual basic 6.

qual é a linha 4 e a linha 6?? o enter no meio conta??

primero q esse update seu ta errado falta um = entre o campo nome e o valor dele.

e quando trava, aparece alguma mensagem de erro?? qual mensagem??

falta tb setar q a conexao do objeto command é o OleDbConnection1, mas não lembro o nome da propriedade. o q costumo fazer é isso:

Me.OleDbConnection1.Open()
        Me.OleDbCommand1 = New OleDbCommand("update tabela1 set (nome) ('" & nome & "') where (telefone) = ('" & telefone & "')", OleDbConnection1)[/code]

mas não lembro a ordem dos parametros. veja ai, se não for isso troque de lugar a conecction com a query.

e tb não precisa ser o ExecuteReader(). isso usamos quando a query retorna alguma coisa. insert e update não retornam nd, então você pode usar ExecuteNonQuery() em vez de ExecuteReader().

to movendo pra .net.

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que o suposto erro não foi captado por você. pois a sintaxe que você colocou pra min é = a minha.

"update tabela1 set (nome) ('" & nome & "') where (telefone) = ('" & telefone & "')"

eu acho q o erro esta exatamente nessa sintaxe,, pois como eu disse isso ai eu chutei,, deve ter alguns detalhes errados.

agora c eu recebi o magaiver e acertei e o erro for em outra parte do algoritimo, bom pra min =P.

d qualquer forma vou postar novamente o algoritimo feitas as mudança pedida.

Dim nome As String = Me.TextBox1.Text

Dim telefone As String = Me.TextBox2.Text

Me.OleDbCommand1.CommandText = "update tabela1 set (nome) ('" & nome & "') where (telefone) = ('" & telefone & "')"

Me.OleDbConnection1.Open()

Me.OleDbCommand1.ExecuteNonQuery()

MsgBox("dados alterados")

Link para o comentário
Compartilhar em outros sites

  • 0

não não to falando q o erro é na sintaxe do update, e alias to falando isso desdo comeco:

primero q esse update seu ta errado falta um = entre o campo nome e o valor dele.

faltou esse igual aqui:

"update tabela1 set (nome) = ('" & nome & "') where (telefone) = ('" & telefone & "')"

ai e se você puse o = e o erro continua com a mesma mensagem tenta tira os parenteses em volta dos campos, ta meio estranho, nunca vi ninguém usar assim, seila se ele vai aceitar.

fora isso no seu codigo, não to vendo onde você ta setando a conexao no objeto command, mas se você tive fazendo isso em otra parte do codigo, td bem.

Link para o comentário
Compartilhar em outros sites

  • 0

oxi o0

bom,, analize o que eu to querendo faze...

eu to tentando muda o nome do condenado tendo com referencia o telefone dele.

c eu coloca o = ali vai fica muito esquisito,, tipo,, pode ate ser q a sintaxe pessa pra fazer dessa forma,, mas nesse caso alem de muda a parte q você disse, a final da sintaxe tb teria q ser mudada..

where (telefone) = ('" & telefone & "')" <<<< essa parte ae ((onde telefone for = ao "telefone do condenado"))

e quanto a esse parenteses.... bom,, a sintaxe de inserção e de excludao usa...olha so...

Me.OleDbCommand1.CommandText = "delete * from tabela1 where (nome) = ('" & nome & "')" <<<exclusao

Me.OleDbCommand1.CommandText = "insert into tabela1 (nome , telefone , idade) values ('" & nome & "' , '" & telefone & "' , '" & idade & "')" << inseção.

vale lembrar q eu to fazendo em vb.net

Link para o comentário
Compartilhar em outros sites

  • 0
c eu coloca o = ali vai fica muito esquisito

hehhe não sei porque você acha q fica esquisito, mas é isso mesmo, pode por o igual la. você pelo menso testou com o igual?? se você puser e continuar dando erro, ai avise aqui q a gente tenta descobrir. mas tem igual sim, pode confiar, de uma olhada nesse link: http://www.w3schools.com/Sql/sql_update.asp ele ensina a sintaxe do update e, como você pode ver tem o igual sim. hehe se você não acredita, ai ta a prova

e quanto a esse parenteses.... bom,, a sintaxe de inserção e de excludao usa...olha so...

Me.OleDbCommand1.CommandText = "delete * from tabela1 where (nome) = ('" & nome & "')" <<<exclusao

Me.OleDbCommand1.CommandText = "insert into tabela1 (nome , telefone , idade) values ('" & nome & "' , '" & telefone & "' , '" & idade & "')" << inseção.

é, o insert usa sim. quanto ao delete e ao update não precisa. se você fizer assim:

Me.OleDbCommand1.CommandText = "delete * from tabela1 where nome = '" & nome & "'"     <<<exclusao
vai funcionar normal. eu so tava comentando sobre o partenteses porque nunca tinha visto ninguém usar assim, então não tinha certeza se aceitava. mas se você diz q funciona, td bem. mas é bom tomar cuidado, q isso tb varia de banco pra banco. e tem uns banco q são bem chatinho quanto a sintaxe da query (mysql, por exemplo), q pode acabar não aceitando.
vale lembrar q eu to fazendo em vb.net
a linguagem não interfere na sintaxe da query. isso depende do banco de dados. então, poe o igual la, e se continuar dando erro, posta ai a nova mensagem q ele der e a linha q ele aponta. isso é muito importante, beleza?? se você não aponta pra gente a mensagem do erro e a linha, ai pode ser 1000 possibilidades, a gente não pode adivinha. o seu codigo parece estar legal, o problema parece ser na query (mas sem saber a mensagem do erro, eu não posso ter certeza aqui). EDITADO: e só pra esclarecer melhor, a linha teria q ser assim ó:
Me.OleDbCommand1.CommandText = "update tabela1 set nome = '" & nome & "' where telefone = '" & telefone & "'"

levando em conta q o campos nome e telefone existam (e esse sejam os nomes deles) na tabela tabela1 e q as variaveis nome e telefone tb existam, é isso. e pode por os partentes tb se quiser.

Editado por kuroi
Link para o comentário
Compartilhar em outros sites

  • 0

humm... testei...

e deu certo uhuhuhuh

maravilha... realmente na sintaxe de exclusão não era necessario... e funfo certinho a de atualização tb (apesar que pra min ela agora ficou bem confusa do ponto de vista logico) mas nada que eu não tire de letra atingindo o nirvana...

Grato pela ajuda e paciencia.

aproveito pra avisa q essa é a primeira de muitas das minhas duvidas de nivel "café com leite"

vlw msmo

(evento click inteiro, como ficou)

Dim nome As String = Me.TextBox1.Text

Dim telefone As String = Me.TextBox2.Text

Me.OleDbCommand1.CommandText = "update tabela1 set nome = '" & nome & "' where telefone = '" & telefone & "'"

Me.OleDbConnection1.Open()

Me.OleDbCommand1.ExecuteNonQuery()

MsgBox("dados alterados")

vlww

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...