CLASSE PARA ISERCAO/ALTERACAO/DELECAO DE DADOS

XXXANGELSXXX 17/05/2011 19:44:32
#374194
Boa noite amigos, com o crescimento do meu codigo fonte, gostaria de reduzir o mesmo, criando uma classe para que minhas operações com o banco diminuissem, eu ja fiz a rotina de insert into e delete, ta faltando apenas a de update, se alguem ja tiver essa classe ou ate mesmo um modulo que faz isso, agradeceria muito, ou so a funcao de alteraçao.
MARCELO.TREZE 17/05/2011 20:05:11
#374197
porque vc não cria uma classe só que faça tudo?
XXXANGELSXXX 17/05/2011 20:18:44
#374199
Entao marcelo, ai que ta.. eu tou fazendo.. so que a minha alteraçao dos dados nao esta dando certo.. utilizo mysql

veja so.. a funcao que estou fazendo esta me passando a seguinte sintaxe quando peço a alteracao..

 
? sql
UPDATE cadusuarios SET userlogin, usersenha = [ô][ô]teste, [ô]testemaria[ô][ô] WHERE userid = [ô]2[ô]


sempre que no mysql deveria sair assim
  
Update cadusuarios SET userlogin=[ô]teste[ô],usersenha=[ô]testemaria[ô] where userid=[ô]2[ô]


Abaixo a funçao que estou utilizando.. ou tentando ne.. rsrs..

Public Enum TipoSQL
INCLUIR = 0
EDITAR = 1
EXCLUIR = 2
End Enum
Global Const Aspas = “”””

Public Function FuncaoSQL(QualSQL As TipoSQL, Tabela As String, Optional Campo As Variant, Optional Valor As Variant, Optional CampoChave As String, Optional ValorChave As String) As String
sql = [Ô]UPDATE [Ô] & Tabela & [Ô] SET [Ô]
For I = LBound(Campo) To UBound(Campo)
sql = sql & Campo(I) & [Ô] = [Ô] & Aspas & Valor(I) & Aspas & [Ô], [Ô]
Next I
sql = Mid(sql, 1, Len(sql) - 2) & [Ô] WHERE [Ô] & CampoChave & [Ô] = [Ô] & Aspas & ValorChave & Aspas


ANDPAG 18/05/2011 01:18:20
#374224
http://www.drivehq.com/file/df.aspx/publish/afsystems/PublicFolder/CCargos.7z

Olha acima segue o link com uma Classe CCargos + o formulario de cadastro que ela usa.... ve se serve
pra voce usar ela como base. Vc tem que instanciar o formulario como objeto e passar a classe tb como objeto para dentro do metodo editar que eu criei nesse form...entao vc cria ela assim no seu codigo: obs tem que pegar as ocxs que vc acha aqui no site mesmo...ou entao troque os botoes pelos do vb6 mesmo...
poconexao é a conexao do banco, no caso vc passa a sua conexao.


Dim voCargos As CCargos
Dim voForm_Cargos As FORM_Cad_Cargos

Set voCargos = New CCargos
Set voForm_Cargos = New FORM_Cad_Cargos

voForm_Cargos.Editar poConexao, voCargos, , True

Set voForm_Cargos = Nothing
Set voCargos = Nothing


outra coisa insira esta function de Sequence em seu modulo....

Public Function NroSequenceSQL(ByRef aoConexao As ADODB.Connection, ByVal asNomeTabelaSequence As String) As Long
[ô]ONDE asNomeTabelaSequence E O NOME DE UMA TABELA QUE:
[ô] - CONTENHA UM REGISTRO (NEM MAIS NEM MENOS)
[ô] - TENHA UMA A COLUNA DE SEQUENCE SE CHAME [Ô]NEXTVAL[Ô]

Dim voRs As ADODB.Recordset, sSeq As String

Set voRs = New ADODB.Recordset
voRs.CursorLocation = adUseServer
voRs.Open [Ô]SELECT NEXTVAL FROM [Ô] & asNomeTabelaSequence, aoConexao, adOpenDynamic, adLockPessimistic, adCmdText
voRs!NEXTVAL.Value = voRs!NEXTVAL.Value + 1
voRs.Update

NroSequenceSQL = voRs!NEXTVAL

voRs.Close
Set voRs = Nothing
End Function

XXXANGELSXXX 18/05/2011 12:17:46
#374260
Amigos.. nao e bem isso que estou precisando não.. vejam só, eu tenho uma tela por exemplo.. cadastro de usuarios, onde eu coloco as informacoes de NOME, USUARIO , SENHA... no insert into para nao ser preciso eu ir no cadastro de usuarios e dar um insert into toda hora.. eu tenho uma funcao em um modulo que faz isso para mim, eu informo so os textbox que vao passar a informacao para o modulo executar, exemplo.. eu tenho os textbox, entao eu quero so fazer mais ou menos o ssteuinte..

FuncaoEditar EDITAR, [Ô]cadusuarios[Ô], addCampos(campo1,campo2,campo3),AddValores(text1.text,text2.text),[Ô]id[Ô],[Ô]1[Ô]

Ou seja, ele vai executar essa string no meu modulo
XXXANGELSXXX 19/05/2011 09:00:54
#374364
Resolvido, Barros e Alexandre.. muito obrigado pela força..!!!
Tópico encerrado , respostas não são mais permitidas