Bom dia a todos
Pessoal eu gostaria de tirar duvidas sobre essa biblioteca, eu comei a utilizala mais mim deparei com algumas divicudades como por exemplo.
Tabelas: Tentei criar um tabela so que da erro quanto tendo cria um campo numerico
aqui ta a rotique que fiz
cTabela := 'CREATE TABLE ESTOQUE '
cTabela += "("
cTabela += 'Grupo char(3),'
cTabela += ' Codigo char(4),'
ctabela += ' Descricao varchar(50),'
cTabela += " Preco numeric(10,2),"
cTabela += ' unique(grupo)'
ctabela += ' )'
ADO EXECUTE &cTabela
bom quando eu tiro o campo ---> Preco Numeric(10,2) ele funciona, onde estou errando
Grato
Hilton
xHarbour
xdev0.65
AdoXb
Moderador: Moderadores
-
jose hilton
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 03 Ago 2008 11:28
- Localização: Salvador-ba
Re: AdoXb
Olá,
Qual o banco de dados? O Oracle, por exemplo, usa Number ao invés de Numeric. Aliás, vc consegue criar esta mesma tabela pela aplicação do banco de dados?
[]'s
Rodrigo
Qual o banco de dados? O Oracle, por exemplo, usa Number ao invés de Numeric. Aliás, vc consegue criar esta mesma tabela pela aplicação do banco de dados?
[]'s
Rodrigo
-
jose hilton
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 03 Ago 2008 11:28
- Localização: Salvador-ba
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: AdoXb
Amiguinho,
use DOUBLE ao inves de NUMERIC ou NUMBER. Testei com MySQL, Access e Firebird. Mas em todo o caso verifique os tipo de dados existentes para o mesmo.
Exemplo:
use DOUBLE ao inves de NUMERIC ou NUMBER. Testei com MySQL, Access e Firebird. Mas em todo o caso verifique os tipo de dados existentes para o mesmo.
Exemplo:
Código: Selecionar todos
if .not. ADOFile( "tabela" )
MsgRun( "Criando tabela TABELA DE JUROS..." )
DROP TABLE IF EXISTS tabela
CREATE TABLE IF NOT EXISTS tabela(;
RECNO INT NOT NULL AUTO_INCREMENT,;
tabela CHAR(18),;
n2 INT(9),;
n3 DOUBLE(9,6),;
n4 DOUBLE(9,2),;
PRIMARY KEY(RECNO) )
*
* Inserindo Dados na Tabela
*
INSERT INTO tabela VALUES(1,'TVLS00',6,0.179229,1.99)
INSERT INTO tabela VALUES(2,'TVLS00',12,0.095242,1.99)
INSERT INTO tabela VALUES(3,'TVLS00',18,0.067309,1.99)
INSERT INTO tabela VALUES(4,'TVLS00',24,0.053154,1.95)
INSERT INTO tabela VALUES(5,'TVLS00',36,0.038760,1.85)
INSERT INTO tabela VALUES(6,'TVLS00',42,0.035531,1.95)
INSERT INTO tabela VALUES(7,'TVLS00',48,0.032947,1.99)
endif
RETURN .t.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
jose hilton
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 03 Ago 2008 11:28
- Localização: Salvador-ba
Re: AdoXb
Oi Rochinha
olha eu fiz seu exemplo mais nao resolvel olhe a messa que esta aparecendo
um outra duvida que eu tenho e --> COMO FUNCIONARIA O SEEK COM O ADOXB
cTabela := 'CREATE TABLE ESTOQUE '
cTabela += "("
cTabela += 'Grupo char(3),'
cTabela += ' Codigo char(4),'
cTabela += ' Ean char(13),'
ctabela += ' Descricao varchar(50),'
ctabela += ' Preco DOUBLE(9,2),'
cTabela += ' unique(ean)'
ctabela += ' )'
ADO EXECUTE &cTabela
APARECE ESSE ERRO
Application
===========
Path and name: C:\downloads\adoRDDxx\Source\adorxb.EXE (32 bits)
Size: 1,266,688 bytes
Time from start: 0 hours 0 mins 5 secs
Error occurred at: 08/05/08, 13:32:50
Error description: Error ADODB.connection/9 Dynamic SQL Error
SQL error code = -607
table/view ESTOQUE does not exist: EXECUTE
Args:
[ 1] = C DROP TABLE Estoque
Stack Calls
===========
Called from TOLEAUTO:EXECUTE(0)
Called from ADOEXECUTE(556)
Called from CUSTOMER(100)
System
======
CPU type: Pentium III 1500 Mhz
Hardware memory: 448 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Compiler version: xHarbour build 0.99.50 Intl. (SimpLex)
Windows version: 5.1, Build 2600 Service Pack 2
Windows total applications running: 0
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:EXECUTE
Param 1: C "DROP TABLE Estoque"
ADOEXECUTE
Param 1: C "DROP TABLE Estoque"
CUSTOMER
Local 1: C "FIREBIRD"
Linked RDDs
===========
DBF
DBFNTX
ADORDD
DataBases in use
================
Classes in use:
===============
1 HBCLASS
2 HBOBJECT
3 TWINDOW
4 TDIALOG
5 TBRUSH
6 TFONT
7 TOLEAUTO
8 ERROR
Memory Analysis
===============
132 Static variables
Dynamic memory consume:
Actual Value: 505167 bytes
Highest Value: 524503 bytes
Grato
Jose Hilton
olha eu fiz seu exemplo mais nao resolvel olhe a messa que esta aparecendo
um outra duvida que eu tenho e --> COMO FUNCIONARIA O SEEK COM O ADOXB
cTabela := 'CREATE TABLE ESTOQUE '
cTabela += "("
cTabela += 'Grupo char(3),'
cTabela += ' Codigo char(4),'
cTabela += ' Ean char(13),'
ctabela += ' Descricao varchar(50),'
ctabela += ' Preco DOUBLE(9,2),'
cTabela += ' unique(ean)'
ctabela += ' )'
ADO EXECUTE &cTabela
APARECE ESSE ERRO
Application
===========
Path and name: C:\downloads\adoRDDxx\Source\adorxb.EXE (32 bits)
Size: 1,266,688 bytes
Time from start: 0 hours 0 mins 5 secs
Error occurred at: 08/05/08, 13:32:50
Error description: Error ADODB.connection/9 Dynamic SQL Error
SQL error code = -607
table/view ESTOQUE does not exist: EXECUTE
Args:
[ 1] = C DROP TABLE Estoque
Stack Calls
===========
Called from TOLEAUTO:EXECUTE(0)
Called from ADOEXECUTE(556)
Called from CUSTOMER(100)
System
======
CPU type: Pentium III 1500 Mhz
Hardware memory: 448 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Compiler version: xHarbour build 0.99.50 Intl. (SimpLex)
Windows version: 5.1, Build 2600 Service Pack 2
Windows total applications running: 0
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:EXECUTE
Param 1: C "DROP TABLE Estoque"
ADOEXECUTE
Param 1: C "DROP TABLE Estoque"
CUSTOMER
Local 1: C "FIREBIRD"
Linked RDDs
===========
DBF
DBFNTX
ADORDD
DataBases in use
================
Classes in use:
===============
1 HBCLASS
2 HBOBJECT
3 TWINDOW
4 TDIALOG
5 TBRUSH
6 TFONT
7 TOLEAUTO
8 ERROR
Memory Analysis
===============
132 Static variables
Dynamic memory consume:
Actual Value: 505167 bytes
Highest Value: 524503 bytes
Grato
Jose Hilton
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: AdoXb
Amiguinho
Parece me que o erro ocorreu na linha DROP TABLE, ou seja, voce não pode executar um comando assim se uma tabela não existe.
Provavelmente nos codigos que disponibilizei eu faço um teste com ADOFile() para verificar se o mesmo existe.
Em todo o caso verifique dentro de seu DB se as tabelas foram criadas e elimine a linha DROP TABLE.
Parece me que o erro ocorreu na linha DROP TABLE, ou seja, voce não pode executar um comando assim se uma tabela não existe.
Provavelmente nos codigos que disponibilizei eu faço um teste com ADOFile() para verificar se o mesmo existe.
Em todo o caso verifique dentro de seu DB se as tabelas foram criadas e elimine a linha DROP TABLE.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
jose hilton
- Usuário Nível 1

- Mensagens: 4
- Registrado em: 03 Ago 2008 11:28
- Localização: Salvador-ba
Re: AdoXb
Desculpe Rochinha, na realidade o erro foi esse
Grato Hilton
pplication
===========
Path and name: C:\downloads\adoRDDxx\Source\adorxb.EXE (32 bits)
Size: 1,266,688 bytes
Time from start: 0 hours 0 mins 13 secs
Error occurred at: 08/06/08, 09:15:20
Error description: Error ADODB.connection/9 Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 14
IF: EXECUTE
Args:
[ 1] = C CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )
Stack Calls
===========
Called from TOLEAUTO:EXECUTE(0)
Called from ADOEXECUTE(556)
Called from CUSTOMER(112)
System
======
CPU type: Pentium III 1500 Mhz
Hardware memory: 448 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Compiler version: xHarbour build 0.99.50 Intl. (SimpLex)
Windows version: 5.1, Build 2600 Service Pack 2
Windows total applications running: 0
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:EXECUTE
Param 1: C "CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )"
ADOEXECUTE
Param 1: C "CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )"
CUSTOMER
Local 1: C "FIREBIRD"
Linked RDDs
===========
DBF
DBFNTX
ADORDD
DataBases in use
================
Classes in use:
===============
1 HBCLASS
2 HBOBJECT
3 TWINDOW
4 TDIALOG
5 TBRUSH
6 TFONT
7 TOLEAUTO
8 ERROR
Memory Analysis
===============
132 Static variables
Dynamic memory consume:
Actual Value: 505651 bytes
Highest Value: 524467 bytes
Grato Hilton
pplication
===========
Path and name: C:\downloads\adoRDDxx\Source\adorxb.EXE (32 bits)
Size: 1,266,688 bytes
Time from start: 0 hours 0 mins 13 secs
Error occurred at: 08/06/08, 09:15:20
Error description: Error ADODB.connection/9 Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, char 14
IF: EXECUTE
Args:
[ 1] = C CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )
Stack Calls
===========
Called from TOLEAUTO:EXECUTE(0)
Called from ADOEXECUTE(556)
Called from CUSTOMER(112)
System
======
CPU type: Pentium III 1500 Mhz
Hardware memory: 448 megs
Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %
Compiler version: xHarbour build 0.99.50 Intl. (SimpLex)
Windows version: 5.1, Build 2600 Service Pack 2
Windows total applications running: 0
Variables in use
================
Procedure Type Value
==========================
TOLEAUTO:EXECUTE
Param 1: C "CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )"
ADOEXECUTE
Param 1: C "CREATE TABLE IF NOT EXISTS ESTOQUE( RECNO INT NOT NULL AUTO_INCREMENT,ESTOQUE CHAR(18),n2 INT(9),n3 DOUBLE(9,6),n4 DOUBLE(9,2) PRIMARY KEY(RECNO) )"
CUSTOMER
Local 1: C "FIREBIRD"
Linked RDDs
===========
DBF
DBFNTX
ADORDD
DataBases in use
================
Classes in use:
===============
1 HBCLASS
2 HBOBJECT
3 TWINDOW
4 TDIALOG
5 TBRUSH
6 TFONT
7 TOLEAUTO
8 ERROR
Memory Analysis
===============
132 Static variables
Dynamic memory consume:
Actual Value: 505651 bytes
Highest Value: 524467 bytes
