USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SINTAXE MYSQL 5 X SINTAXE ACCESS NO VB
Futura
PORTO FERREIRA
SP - BRASIL
Postada em 23/10/2006 17:16 hs            
Esta sintaxe de inclusão/alteração no banco, que uso para access, no mysql rodou normal:
 Set Rs = New ADODB.Recordset
 Rs.CursorLocation = adUseClient
 If Trim(txtcodigo.Text) <> Empty Then
  sql = " select * from clientes where codigo = " & txtcodigo & " "
  Rs.Open sql, Cnn, adOpenKeyset, adLockOptimistic
 Else
  Rs.Open "clientes", Cnn, adOpenKeyset, adLockOptimistic
  Rs.AddNew
 End If
 'dados cadastrais
 Rs!classe = cmbclasse.Text
 Rs!cgc = txtcgc.Text
 Rs!ie = txtrg.Text
 Rs!razao = txtrazao.Text
 Rs!apelido = txtape.Text
 Rs!rua = txtrua.Text
 Rs!comple = txtcomp.Text
 Rs!bairro = txtbai.Text
 Rs!cidade = cmbcid.Text
 Rs!uf = cmbuf.Text
 Rs!cep = txtcep.Text
 Rs!fones = txtfone.Text
 Rs!celular = txtcelular.Text
 Rs!fax = txtfax.Text
 Rs!email = txtemail.Text
 Rs!web = txtweb.Text
 Rs!tipo = cmbtipo.Text
 Rs!ramo = txtramo.Text
 Rs!contato = txtcont.Text
 If Not IsNumeric(txtlimite) Then txtlimite = 0
 Rs!LIMITE = CDbl(txtlimite.Text)
 Rs!cadastro = Format(dtcad.Value, "yyyy/mm/dd")
 Rs!datanasc = Format(dtnas.Value, "yyyy/mm/dd")
 Rs.Update
 Rs.Close
 Set Rs = Nothing
 aviso = MsgBox("Dados Atualizados", vbInformation + vbOKOnly, "Futura - aviso ao usuário")
 
esta abaixo sem o uso de recordset, também foi beleza.
 If Trim(txtcodigo.Text) = Empty Then
   Set RSban = New ADODB.Recordset
   RSban.CursorLocation = adUseClient
   sql = "SELECT Max(codigo) AS codigo FROM bancos"
   RSban.Open sql, Cnn, adOpenForwardOnly, adLockReadOnly
   If Not RSban.EOF Then
    txtcodigo = (RSban!codigo + 1)
   Else
    txtcodigo = 1
   End If
   RSban.Close
   Set RSban = Nothing
   sqlcmd = "insert into bancos (codigo,descricao) values (" &  txtcodigo.Text & ",'" & Replace(Txtdescricao.Text, "'", "") & "')"
  Else
   sqlcmd = " update bancos set descricao = '" & Replace(Txtdescricao.Text, "'", "") & "'"
   sqlcmd = sqlcmd & " where codigo  =" & txtcodigo.Text & ""
  End If
  Cnn.Execute (sqlcmd)
esta de exclusão por recordsets, também foi normal:
  Set RS = New ADODB.Recordset
  RS.CursorLocation = adUseClient
  sql = "select * from bancos where  codigo = " & txtcodigo.Text & ""
  RS.Open sql, Cnn, adOpenKeyset, adLockOptimistic
  RS.Delete adAffectCurrent
  RS.Close
  Set RS = Nothing
então todas as sintaxes acima, executam normal no access e no mysql.
ja esta outra de exclusão, pela conexão da erro de sintaxe no mysql, lembrando que pelo access vai normal.
 
 Cnn.Execute ("delete * from autorizados where controle = " &  lstnome.SelectedItem & "") 
 
Então pergunto:
1) onde esta o erro nesta sintaxe ?
2) sera que da pra adaptar 100% do código que se diz respeito ao banco de dados, pra rodar com os dois bancos ?
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 23/10/2006 20:25 hs            
No delete acho q tem não tem * mas mesmo no access funciona sem asterisco se não me engano... olha tem alguma diferenças mínimas... pesquisas em datas entre aspas simples neste formato (se me lembro bem): 'mm-dd-yyyy'
Lembro q, ao menos na versão 4.1, o filter não funcionava legal (mysql-ADO), mas é muito pouco q tem q mexer... não sou expert em mysql... acho q conheço mais access...  rsrsrsrs :) 
Mas são essas pequenas coisas q tem q rever... se for mudar é bom refazer os testes para pegar os erros de sintaxe.
 
at+
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página