Jump to content
Fivewin Brasil

duvidas migração mysql


edutraini

Recommended Posts

Pessoal estou começando a migrar meu sistema dbf para mysql e tenho tres duvidas se alguem puder me ajudar

1- Para criar um arquivo de indices estou fazendo assim e simplesmente o computador trava

dbUseArea(.t.,'SqlRdd','dcadcpg0','VEN',.t. )
index on condpgto to xcadcpg1
index on descricao to xcadcpg2
2 - apos o insert na tabela o listbox fica todo bagunçado,ao sair do sistema e entrar de novo ai fica ok
*------------------------------------------------*
Static Function Gravar()
*------------------------------------------------*
Local cInsert :=''
IF lAppend
cInsert :='Insert Into dcadcpg0(Condpgto, Descricao, NroVencto, tipo, venc1, venc2, venc3, venc4,venc5,venc6, venc7, venc8, venc9,venc10 ) values ('
cInsert :=cInsert +SR_cDBValue(mCondpgto)+','+SR_cDBValue(mdescricao)+','+SR_cDBValue(mNroVencto)+','+SR_cDBValue(mTipo)+','+SR_cDBValue(mVenc1)+','+SR_cDBValue(mVenc2)+','+SR_cDBValue(mVenc3)+','+SR_cDBValue(mVenc4)+','+SR_cDBValue(mVenc5)+','+SR_cDBValue(mVenc6)+','+SR_cDBValue(mVenc7)+','+SR_cDBValue(mVenc8)+','+SR_cDBValue(mVenc9)+','+SR_cDBValue(mVenc10)+' )'
oSql := SR_GetConnection()
oSql:exec( cInsert )
else
cInsert := 'update dcadcpg0 set Descricao = '+SR_cDBValue(mDescricao)+', NroVencto ='+SR_cDBValue(mNroVencto)+', tipo = '+SR_cDBValue(mTipo)+' '
cInsert := cInsert + ', venc1 ='+SR_cDBValue(mVenc1)+', venc2 = '+SR_cDBValue(mVenc2)+' '
cInsert := cInsert + ', venc3 ='+SR_cDBValue(mVenc3)+', venc4 = '+SR_cDBValue(mVenc4)+' '
cInsert := cInsert + ', venc5 ='+SR_cDBValue(mVenc5)+', venc6 = '+SR_cDBValue(mVenc6)+' '
cInsert := cInsert + ', venc7 ='+SR_cDBValue(mVenc7)+', venc8 = '+SR_cDBValue(mVenc8)+' '
cInsert := cInsert + ', venc9 ='+SR_cDBValue(mVenc9)+', venc10 = '+SR_cDBValue(mVenc10)+' '
cInsert := cInsert +' where Condpgto = '+SR_cDBValue(mCondpgto)
oSql := SR_GetConnection()
oSql:exec( cInsert )
Endif
go vn_ponta
cIndice := "Descricao"
oCbx3 :Refresh()
*
mudaVend()
oLbx :Refresh()
oLbx:upstable()
oDlg :Refresh()
oDlg :SetFocus()
*
lAppend:=.F.
DesativaGet()
oCbx3:Enable()
oLbx:Enable()
return NIL

3 - quando uso o dbf apos a exclusao o registro fica deletado dentro do banco de dados ja no mysql ele some. Qual é a melhor forma de trabalhar com registros que foram excluidos

pois no dbf se eu precisar recuperar esse registro basta desmarcar o deleted e como faço isso no mysql

IF MsgYesNo( "Confirma Exclusão "+ven->Descricao, "Excluir Cond.Pagto")
cDele = 'DELETE FROM dcadcpg0 WHERE condpgto = '+SR_cDBValue(mCondpgto)
oSql := SR_GetConnection()
oSql:exec( cdele )
vn_ponta=recno()
oDlg :Refresh()
endif
Link to comment
Share on other sites

Edu

Bom dia

Você vai utilizar somente comandos SQL ou vai usar comandos DBASE? Pergunto isso pois você está utilizando dbusearea e index on, mas está salvando co insert e update? Se você for utilizar comandos SQL não vai precisar indexar com index on.

Na opção de delete se for somente marcar o campo com deleted .T. você não vai poder usar comando sql DELETE vai ter que usar dbdelete() do dbase

Att

João Bosco

Link to comment
Share on other sites

Bom dia João,

Ja que estou mudando para mysql pretendo fazer isso por inteiro ou seja somente trabalhar com comandos mysql

vc poderia me dar uma sugestão qual a mellhor forma de migrar para sql em relação a migração do sistema para que não demore muito e tambem não perca performasse

Link to comment
Share on other sites

Edu

Bom dia

Vou falar como trabalho hoje depois de migrado.

Abertura de tabelas:

cSql:= "Select codigo,nome FROM tabela ORDER BY nome" ou ORDER BY CODIGO
Use (cSql) Alias "Tabela" NEW SHARED VIA "SQLRDD"
Seek:
cSql:= "Select codigo,nome FROM tabela WHERE codigo=10"
Use (cSql) Alias "Tabela" NEW SHARED VIA "SQLRDD"
No caso do delete, se você usar o DELETE do SQL ele vai apagar o registro, você pode setar o campo deleted com .T. e não usar delete do SQL mas vai te dar o trabalho de em toda consulta adicionar o Where deleted=FALSE
Att
João Bosco
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...