Muito bem, realmente funcionou. Mas isso provoca outro problema, que é só poder dar update ou delete em uma linha da tbl de cada vez, pois ele manda o rowid de uma linha e tenta dar o comando para todas linhas a alterar com o mesmo rowid. aliás estou usando o comando SalTblDoUpdates, SalTblDoDeletes.
Existe outra solução? tipo um comando no Sybase que transforma string em hexa?
 
 
-------Mensagem original-------
 
Data: terça-feira, 24 de junho de 2003 10:19:07
Assunto: Re: [sqlwin] Rowid no Sybase
 
 
Isso! Concatenando com o 0x antes vai funcionar.
 
Fabiano Reis
Banco WestLB do Brasil
Systems Development
tel: 55 + 11 + 5504-9833
fax: 55 + 11 + 5504-9933
 
 
 
 
cc:
Subject: Re: [sqlwin] Rowid no Sybase
 
 
Obrigado pela ajuda Fabiano,
mas apenas para confirmar devo concatenar assim:
"Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=0x"
|| tblEmpresa.colRowid
Já que quando a tbl é populada ela aparece sem o 0x, por estar definida com
datatype String.
 
Bem irei tentar.
Grato
 
Luis
  ----- Original Message -----
  Sent: Monday, June 23, 2003 1:17 PM
  Subject: Re: [sqlwin] Rowid no Sybase
 
 
  Luis,
 
  Se você concatenar o conteúdo da sua colRowid no comando, sem as aspas da
  String, vai funcionar!
 
  Se você concatenar o comando assim:
  "Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=" ||
  tblEmpresa.colRowid
 
  O Centura enviará o seguinte comando para o banco de dados:
  Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid=
  0x00000000010C9633
 
  Espero ter ajudado.
 
  Sds
  Fabiano Reis
  Banco WestLB do Brasil
  Systems Development
  tel: 55 + 11 + 5504-9833
 
  cc:
  Subject: [sqlwin] Rowid no Sybase
 
 
  Olá pessoal,
 
  estou precisando de uma ajuda. Tenho uma aplicação que tem várias tables
  windows, populadas de tabelas de banco de dados.
  Uma caracteristica é a existencia de uma coluna Rowid nessas tabelas,
  utilizadas para fazer atualizações. Ex. Para um table windows empresa:
  Update tabela set NomeEmpresa=:tblEmpresa.colNomeEmpresa where Rowid
  =:tblEmpresa.colRowid.
  Isso funcionamente perfeitamente quando trabalho com Oracle(que já possui
  essa coluna default) e MS-SqlServer(onde defino como timestamp). Agora
  estou tendo problema com Sybase, que ele não consegue entender o Rowid.
  Quando executo o update, ele deve estar interpretando com texto, pois a
  colRowid, defino com datatype String.
  Uma solução seria tranformar o texto em hexadecimal. Alguém sabe a função
  no sybase pra tranformar uma string em hexadecimal? ou teria outra
  solução?
 
 
  Att.
  Luis Fernando Minoru Saito
  Tecnologia de Informação
  Tel: (55 11) 3078 1755 ramal 39
 
  SCA Systema Consultores Associados
  visite o website http://www.scasystema.com.br
____________________________________________________
  IncrediMail - O mundo do correio eletrônico finalmente desenvolveu-se - Clique aqui

Responder a