[GUFA] CursorAdapter

2012-07-26 Por tema Rafael Copquin

Hola, te respondo las preguntas:

1) los links estaban en español originalmente y fueron luego traducidos 
al inglés y al portugués. Pero desde hace varios años, el dueño de la 
revista solamente dejó disponibles las versiones en inglés


2) podés hacer cursor adapters de varias tablas en la sentencia select 
sql. Pero lo mejor es actualizar una sola tabla, aunque la consulta sea 
de varias tablas. Los campos de la tabla que vas a actualizar los 
definís en las propiedades updatefieldlist, updatenamelist y 
keyfieldlist (en todas ellas tenés que incluir la clave primaria de la 
tabla, porque si no, no te va a funcionar) También tenés que poner la 
propiedad sendupdates en true.


3) En cuanto a TierAdapter, preguntales a los autores Rubén Rovira y 
Martín Salías


Saludos

Rafael Copquin



El 25/07/2012 07:50 p.m., pablo.oviedo escribió:

Gracias, empece con cursoradapter y me trabe. Se pueden usar un
cursoadapter que incluya columnas de distintas tablas? me tira error
cuando quiero refrescar algunos campos del cursor luego de una inserción.

También estoy viendo TierAdapter. Los link que me pasaron, es posible que
esta información este en español?

Existe alguna documentación sobre TierAdapter que describa todas las
clases, metodos y propiedades del frameworks a parte del diagrama de UML
que esta en el sitio de Martin?

saludos


-Original Message-
From: Rafael Copquin rcopq...@fibertel.com.ar
To: GUFA List Member  GUFA@mug.org.ar
Date: Tue, 24 Jul 2012 16:32:07 -0300
Subject: [GUFA] CursorAdapter


Te paso un ejemplo bien completo de cómo lo hago yo:

** creacion de las tablas en sqlserver
** en la vida real tienen más campos, pero estos son los mínimos que
deberían tener

CREATE TABLE [dbo].[DETALLE](
  [FECHA] [date] NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [CODIGO] [char](30) NOT NULL,
  [CANTIDAD] [int] NOT NULL,
  [PRECIO] [numeric](10, 4) NOT NULL,
  [DT] [datetime] NOT NULL,
  [IDETALLE] [int] IDENTITY(1,1) NOT NULL,
  [IDCABECERA] [int] NOT NULL,
   CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED
(
  [IDDETALLE] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
=
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
   CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED
(
  [IDDETALLE] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
=
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

CREATE TABLE [dbo].[CABECERA](
  [FECHA] [date] NOT NULL,
  [CUENTA] [char](4) NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [IVA] [numeric](10, 2) NOT NULL,
  [TOTAL] [numeric](10, 2) NOT NULL,
  [IDCABECERA] [int] IDENTITY(1,1) NOT NULL,
  [DT] [datetime] NOT NULL,
   CONSTRAINT [PK_IDCABECERA] PRIMARY KEY CLUSTERED
(
  [IDCABECERA] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
=
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


** lo siguiente se hace en Visual FoxPro

** generación de un cursor adapter para la tabla CABECERA

Local cCmd,cSch,cUFL,cUNL,lOK

Text to cCmd noshow pretext 15
SELECT
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
   FROM CABECERA WHERE 1=0
EndText

Text to cSch noshow pretext 15
  FECHA D,
  CUENTA C(4),
  TIPODOC C(3),
  DOCNUM C(8),
  IVA N(10,2),
  TOTAL N(10,2),
  IDCABECERA I,
  DT T
EndText


Text to cUFL noshow pretext 15
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
EndText

Text to cUNL noshow pretext 15
  FECHACABECERA.FECHA,
  CUENTA   CABECERA.CUENTA,
  TIPODOC  CABECERA.TIPODOC,
  DOCNUM   CABECERA.DOCNUM,
  IVA  CABECERA.IVA,
  TOTALCABECERA.TOTAL,
  IDCABECERA   CABECERA.IDCABECERA,
  DT   CABECERA.DT
EndText

cUFL= Chrtran( cUFL, Chr(13) + Chr(10),   )
cUNL   = Chrtran( cUNL, Chr(13) + Chr(10),   )
cSch= Chrtran( cSch, Chr(13) + Chr(10),   )
cCmd  = Chrtran( cCmd, Chr(13) + Chr(10),   )

Use in Select()

lOK = .t.

If !PemStatus(thisform,'oCA',5)
 thisform.AddProperty('oCA')
EndIf

Try

  Thisform.oCA = Createobject(CursorAdapter)

  lOK = .t.

Catch to oErrores

  MessageBox(No se pudo generar el objeto CursorAdapter+;
  Chr(13)+oErrores.message,16,Atención,2000)

  lOK = .f.

Finally
EndTry


If lOK = .t.
 try
 With thisform.oCA
  .DataSourceType = ODBC
  .DataSource = thisform.nHandle
  .alias = curCabecera
  .tables = cabecera
  .BufferModeOverride = 5
  .keyfieldlist= idcabecera
  .sendupdates = .T.
  .usetransactions

[GUFA] CursorAdapter

2012-07-26 Por tema Alejandro Paciotti Iacchelli
Nunca he utilizado un framework de tercero, quizá esto haya perjudicado mis
tiempos de desarrollo, algo que no podré evaluar nunca (que hubiera pasado
si).

Lo que sí puedo afirmar es que los sistemas que realizo los hago todos
contra SQL SERVER definiendo CLASES que acceden a los datos y actualizan y
borran sin necesidad de ningún framework.

Pablo Oviedo, tu pregunta original era:

Hola, necesito hacer una aplicación vfox 9 + sqlserver. 

Pensé usar cursoradapter. No se como hacer un abm maestro-detalle usando
cursor adapter, sí pude armar un abm para tablas simples usando
cursorAdapter builder.

Me puede dar algun ejemplo o algun link para ver?

Como seria el manejo de transacciones con CA?

saludos, muchas gracias.

Seguís necesitando un ejemplo, algo podría pasarte.

Saludos.

-Mensaje original-
De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de pablo.oviedo
Enviado el: miércoles, 25 de julio de 2012 07:50 p.m.
Para: GUFA List Member
Asunto: [GUFA] CursorAdapter

Gracias, empece con cursoradapter y me trabe. Se pueden usar un cursoadapter
que incluya columnas de distintas tablas? me tira error cuando quiero
refrescar algunos campos del cursor luego de una inserción.

También estoy viendo TierAdapter. Los link que me pasaron, es posible que
esta información este en español?

Existe alguna documentación sobre TierAdapter que describa todas las clases,
metodos y propiedades del frameworks a parte del diagrama de UML que esta en
el sitio de Martin?

saludos


-Original Message-
From: Rafael Copquin rcopq...@fibertel.com.ar
To: GUFA List Member  GUFA@mug.org.ar
Date: Tue, 24 Jul 2012 16:32:07 -0300
Subject: [GUFA] CursorAdapter

 Te paso un ejemplo bien completo de cómo lo hago yo:
 
 ** creacion de las tablas en sqlserver
 ** en la vida real tienen más campos, pero estos son los mínimos que 
 deberían tener
 
 CREATE TABLE [dbo].[DETALLE](
  [FECHA] [date] NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [CODIGO] [char](30) NOT NULL,
  [CANTIDAD] [int] NOT NULL,
  [PRECIO] [numeric](10, 4) NOT NULL,
  [DT] [datetime] NOT NULL,
  [IDETALLE] [int] IDENTITY(1,1) NOT NULL,
  [IDCABECERA] [int] NOT NULL,
   CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED (
  [IDDETALLE] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY 
 = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
   CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED (
  [IDDETALLE] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY 
 = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
 ) ON [PRIMARY]
 
 CREATE TABLE [dbo].[CABECERA](
  [FECHA] [date] NOT NULL,
  [CUENTA] [char](4) NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [IVA] [numeric](10, 2) NOT NULL,
  [TOTAL] [numeric](10, 2) NOT NULL,
  [IDCABECERA] [int] IDENTITY(1,1) NOT NULL,
  [DT] [datetime] NOT NULL,
   CONSTRAINT [PK_IDCABECERA] PRIMARY KEY CLUSTERED (
  [IDCABECERA] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY 
 = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
 ) ON [PRIMARY]
 
 
 ** lo siguiente se hace en Visual FoxPro
 
 ** generación de un cursor adapter para la tabla CABECERA
 
 Local cCmd,cSch,cUFL,cUNL,lOK
 
 Text to cCmd noshow pretext 15
 SELECT
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
   FROM CABECERA WHERE 1=0
 EndText
 
 Text to cSch noshow pretext 15
  FECHA D,
  CUENTA C(4),
  TIPODOC C(3),
  DOCNUM C(8),
  IVA N(10,2),
  TOTAL N(10,2),
  IDCABECERA I,
  DT T
 EndText
 
 
 Text to cUFL noshow pretext 15
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
 EndText
 
 Text to cUNL noshow pretext 15
  FECHACABECERA.FECHA,
  CUENTA   CABECERA.CUENTA,
  TIPODOC  CABECERA.TIPODOC,
  DOCNUM   CABECERA.DOCNUM,
  IVA  CABECERA.IVA,
  TOTALCABECERA.TOTAL,
  IDCABECERA   CABECERA.IDCABECERA,
  DT   CABECERA.DT
 EndText
 
 cUFL= Chrtran( cUFL, Chr(13) + Chr(10),   )
 cUNL   = Chrtran( cUNL, Chr(13) + Chr(10),   )
 cSch= Chrtran( cSch, Chr(13) + Chr(10),   )
 cCmd  = Chrtran( cCmd, Chr(13) + Chr(10),   )
 
 Use in Select()
 
 lOK = .t.
 
 If !PemStatus(thisform,'oCA',5)
 thisform.AddProperty('oCA')
 EndIf
 
 Try
 
  Thisform.oCA = Createobject(CursorAdapter)
 
  lOK = .t.
 
 Catch to oErrores
 
  MessageBox(No se pudo generar el objeto CursorAdapter+;
  Chr(13)+oErrores.message,16,Atención,2000)
 
  lOK = .f.
 
 Finally
 EndTry
 
 
 If lOK = .t.
 try
 With thisform.oCA
  .DataSourceType = ODBC
  .DataSource = thisform.nHandle
  .alias

[GUFA] CursorAdapter

2012-07-26 Por tema pablo.oviedo
Sí gracias!!! todo suma. Hasta el momento estoy viendo y haciendo algunas 
pruebas. 
Con CA tadavia no logro hacer lo que quiero, con TA todavia me falta leer 
un poco mas y madurarlo. 
Si hay otras alternativas, bienvenido sea.

saldudos

-Original Message-
From: Alejandro Paciotti Iacchelli alejandro.pacio...@gmail.com
To: GUFA List Member  GUFA@mug.org.ar
Date: Thu, 26 Jul 2012 10:22:10 -0300
Subject: [GUFA] CursorAdapter

 Nunca he utilizado un framework de tercero, quizá esto haya
 perjudicado mis
 tiempos de desarrollo, algo que no podré evaluar nunca (que hubiera
 pasado
 si).
 
 Lo que sí puedo afirmar es que los sistemas que realizo los hago todos
 contra SQL SERVER definiendo CLASES que acceden a los datos y
 actualizan y
 borran sin necesidad de ningún framework.
 
 Pablo Oviedo, tu pregunta original era:
 
 Hola, necesito hacer una aplicación vfox 9 + sqlserver. 
 
 Pensé usar cursoradapter. No se como hacer un abm maestro-detalle
 usando
 cursor adapter, sí pude armar un abm para tablas simples usando
 cursorAdapter builder.
 
 Me puede dar algun ejemplo o algun link para ver?
 
 Como seria el manejo de transacciones con CA?
 
 saludos, muchas gracias.
 
 Seguís necesitando un ejemplo, algo podría pasarte.
 
 Saludos.
 
 -Mensaje original-
 De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de pablo.oviedo
 Enviado el: miércoles, 25 de julio de 2012 07:50 p.m.
 Para: GUFA List Member
 Asunto: [GUFA] CursorAdapter
 
 Gracias, empece con cursoradapter y me trabe. Se pueden usar un
 cursoadapter
 que incluya columnas de distintas tablas? me tira error cuando quiero
 refrescar algunos campos del cursor luego de una inserción.
 
 También estoy viendo TierAdapter. Los link que me pasaron, es posible
 que
 esta información este en español?
 
 Existe alguna documentación sobre TierAdapter que describa todas las
 clases,
 metodos y propiedades del frameworks a parte del diagrama de UML que
 esta en
 el sitio de Martin?
 
 saludos
 
 
 -Original Message-
 From: Rafael Copquin rcopq...@fibertel.com.ar
 To: GUFA List Member  GUFA@mug.org.ar
 Date: Tue, 24 Jul 2012 16:32:07 -0300
 Subject: [GUFA] CursorAdapter
 
  Te paso un ejemplo bien completo de cómo lo hago yo:
  
  ** creacion de las tablas en sqlserver
  ** en la vida real tienen más campos, pero estos son los mínimos
 que 
  deberían tener
  
  CREATE TABLE [dbo].[DETALLE](
   [FECHA] [date] NOT NULL,
   [TIPODOC] [char](3) NOT NULL,
   [DOCNUM] [char](8) NOT NULL,
   [CODIGO] [char](30) NOT NULL,
   [CANTIDAD] [int] NOT NULL,
   [PRECIO] [numeric](10, 4) NOT NULL,
   [DT] [datetime] NOT NULL,
   [IDETALLE] [int] IDENTITY(1,1) NOT NULL,
   [IDCABECERA] [int] NOT NULL,
CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED (
   [IDDETALLE] ASC
  )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,
 IGNORE_DUP_KEY 
  = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED (
   [IDDETALLE] ASC
  )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,
 IGNORE_DUP_KEY 
  = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  
  CREATE TABLE [dbo].[CABECERA](
   [FECHA] [date] NOT NULL,
   [CUENTA] [char](4) NOT NULL,
   [TIPODOC] [char](3) NOT NULL,
   [DOCNUM] [char](8) NOT NULL,
   [IVA] [numeric](10, 2) NOT NULL,
   [TOTAL] [numeric](10, 2) NOT NULL,
   [IDCABECERA] [int] IDENTITY(1,1) NOT NULL,
   [DT] [datetime] NOT NULL,
CONSTRAINT [PK_IDCABECERA] PRIMARY KEY CLUSTERED (
   [IDCABECERA] ASC
  )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,
 IGNORE_DUP_KEY 
  = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
  ) ON [PRIMARY]
  
  
  ** lo siguiente se hace en Visual FoxPro
  
  ** generación de un cursor adapter para la tabla CABECERA
  
  Local cCmd,cSch,cUFL,cUNL,lOK
  
  Text to cCmd noshow pretext 15
  SELECT
   FECHA ,
   CUENTA ,
   TIPODOC ,
   DOCNUM ,
   IVA ,
   TOTAL ,
   IDCABECERA ,
   DT
FROM CABECERA WHERE 1=0
  EndText
  
  Text to cSch noshow pretext 15
   FECHA D,
   CUENTA C(4),
   TIPODOC C(3),
   DOCNUM C(8),
   IVA N(10,2),
   TOTAL N(10,2),
   IDCABECERA I,
   DT T
  EndText
  
  
  Text to cUFL noshow pretext 15
   FECHA ,
   CUENTA ,
   TIPODOC ,
   DOCNUM ,
   IVA ,
   TOTAL ,
   IDCABECERA ,
   DT
  EndText
  
  Text to cUNL noshow pretext 15
   FECHACABECERA.FECHA,
   CUENTA   CABECERA.CUENTA,
   TIPODOC  CABECERA.TIPODOC,
   DOCNUM   CABECERA.DOCNUM,
   IVA  CABECERA.IVA,
   TOTALCABECERA.TOTAL,
   IDCABECERA   CABECERA.IDCABECERA,
   DT   CABECERA.DT
  EndText
  
  cUFL= Chrtran( cUFL, Chr(13) + Chr(10),   )
  cUNL   = Chrtran( cUNL, Chr(13) + Chr(10),   )
  cSch= Chrtran( cSch, Chr(13) + Chr(10

[GUFA] CursorAdapter

2012-07-26 Por tema pablo.oviedo
Rafael, tengo problemas con el refresh, Error: The refresh key defined for 
table is not found.

El codigo es:

procedure CACompras
lparameters cAlia, cName
* cInsCmd, cUpdCmd, cDelCmd pueden ser vacios

oCA = createobject(CABase)
oCA.Alias = cAlia
oCA.CursorSchema = PROVEEDOR C(30),FECHA D, IDPROV I, IDCOM I
oCA.InsertCmdRefreshFieldList = IDCOM
oCA.name = cName
oCA.SelectCmd = select  PROVEEDOR, FECHA, IDPROV, IDCOM from 
compras c inner join proveedores p on c.idprov=p.idpro
oCA.Tables = Compras
oCA.UpdatableFieldList = FECHA, IDPROV
oCA.UpdateCmdRefreshFieldList = FECHA, IDPROV
oCA.UpdateCmdRefreshKeyFieldList = IDCOM
oCA.UpdateNameList = FECHA Compras.FECHA IDPROV Compras.IDPROV
oCA.KeyFieldList = IDCOM
oCA.CursorFill()
return oCA
endproc 


define class CABase as CursorAdapter 

procedure init

local loConnDataSource, oRS
loConnDataSource = createobject('ADODB.Connection')
loConnDataSource.ConnectionString = 
[Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security 
Info=False;] + ;
[User ID=;Initial Catalog=Insumos;Data 
Source=PPC\SQLE;Initial File ] + ;
[Name=;Server SPN=;]


loConnDataSource.Open()

oRS = createobject('ADODB.RecordSet')
oRS.CursorLocation   = 3   adUseClient
oRS.LockType = 3   adLockOptimistic
oRS.ActiveConnection = loConnDataSource

this.DataSource = oRS
this.DataSourceType = ADO
this.AllowSimultaneousFetch = .t.
this.BreakOnError = .t.
this.BufferModeOverride = 3  Optimistic row buffering
this.conflictCheckType  = 3  Check for both modified 
record and key uniqueness
this.FetchMemo = .f.
this.FetchSize = -1
this.MapBinary = .t.
this.MapVarchar = .t.
this.SendUpdates = .t.
this.UseCursorSchema = .t.
*oCA.UseDeDataSource = .t.
endproc 
enddefine




-Original Message-
From: Rafael Copquin rcopq...@fibertel.com.ar
To: GUFA List Member  GUFA@mug.org.ar
Date: Thu, 26 Jul 2012 10:08:00 -0300
Subject: [GUFA] CursorAdapter

 Hola, te respondo las preguntas:
 
 1) los links estaban en español originalmente y fueron luego
 traducidos 
 al inglés y al portugués. Pero desde hace varios años, el dueño de
 la 
 revista solamente dejó disponibles las versiones en inglés
 
 2) podés hacer cursor adapters de varias tablas en la sentencia select
 sql. Pero lo mejor es actualizar una sola tabla, aunque la consulta sea
 de varias tablas. Los campos de la tabla que vas a actualizar los 
 definís en las propiedades updatefieldlist, updatenamelist y 
 keyfieldlist (en todas ellas tenés que incluir la clave primaria de la
 tabla, porque si no, no te va a funcionar) También tenés que poner la
 propiedad sendupdates en true.
 
 3) En cuanto a TierAdapter, preguntales a los autores Rubén Rovira y 
 Martín Salías
 
 Saludos
 
 Rafael Copquin
 
 
 
 El 25/07/2012 07:50 p.m., pablo.oviedo escribió:
  Gracias, empece con cursoradapter y me trabe. Se pueden usar un
  cursoadapter que incluya columnas de distintas tablas? me tira error
  cuando quiero refrescar algunos campos del cursor luego de una
 inserción.
 
  También estoy viendo TierAdapter. Los link que me pasaron, es
 posible que
  esta información este en español?
 
  Existe alguna documentación sobre TierAdapter que describa todas las
  clases, metodos y propiedades del frameworks a parte del diagrama de
 UML
  que esta en el sitio de Martin?
 
  saludos
 
 
  -Original Message-
  From: Rafael Copquin rcopq...@fibertel.com.ar
  To: GUFA List Member  GUFA@mug.org.ar
  Date: Tue, 24 Jul 2012 16:32:07 -0300
  Subject: [GUFA] CursorAdapter
 
  Te paso un ejemplo bien completo de cómo lo hago yo:
 
  ** creacion de las tablas en sqlserver
  ** en la vida real tienen más campos, pero estos son los mínimos
 que
  deberían tener
 
  CREATE TABLE [dbo].[DETALLE](
[FECHA] [date] NOT NULL,
[TIPODOC] [char](3) NOT NULL,
[DOCNUM] [char](8) NOT NULL,
[CODIGO] [char](30) NOT NULL,
[CANTIDAD] [int] NOT NULL,
[PRECIO] [numeric](10, 4) NOT NULL,
[DT] [datetime] NOT NULL,
[IDETALLE] [int] IDENTITY(1,1) NOT NULL,
[IDCABECERA] [int] NOT NULL,
 CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED
  (
[IDDETALLE] ASC
  )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF,
 IGNORE_DUP_KEY
  =
  OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED
  (
[IDDETALLE] ASC
  )WITH (PAD_INDEX  = OFF

[GUFA] CursorAdapter

2012-07-26 Por tema Rafael Copquin

Probaste de _no usar_ las propiedades

InsertCmdRefreshFieldList , UpdateCmdRefreshFieldList, 
UpdateCmdRefreshKeyFieldList

(yo jamás las usé y a mi me funcionan los CA)

En tu clase de CA ponés la propiedad BufferModeOverride = 3optimistic row 
buffering

Yo la pongo en 5optimistic table buffering

En el primer caso la actualización es automática si movés el puntero. En 
cambio, usando 5 (optimistic table buffering), solamente se actualiza la tabla 
si le mandás un tableupdate. Además, te actualiza varios registros de una.

Rafael Copquin


El 26/07/2012 10:52 a.m., pablo.oviedo escribió:

oCA.UpdateCmdRefreshKeyFieldList = IDCOM




[GUFA] CursorAdapter

2012-07-26 Por tema pablo.oviedo
Fantastico!!!, segui tu sujerencia. 

Como vos decis, sin esta tres propiedades funciona ok, lo probe con 
bufferin 3 y 5. Tuve que hacer el refresh programaticamente en el evento 
AfterInsert

Con estas tres propiedades seteadas y teniendo un cursor con columnas de 
varias tablas no funcionan los refresh(). Sera algun bug de fox?

Sigo adelante, ahora pruebo lo de las transacciones!!!

saludos, gracias.

-Original Message-
From: Rafael Copquin rcopq...@fibertel.com.ar
To: GUFA List Member  GUFA@mug.org.ar
Date: Thu, 26 Jul 2012 17:17:27 -0300
Subject: [GUFA] CursorAdapter

 Probaste de _no usar_ las propiedades
 
 InsertCmdRefreshFieldList , UpdateCmdRefreshFieldList,
 UpdateCmdRefreshKeyFieldList
 
 (yo jamás las usé y a mi me funcionan los CA)
 
 En tu clase de CA ponés la propiedad BufferModeOverride = 3   
 optimistic row buffering
 
 Yo la pongo en 5optimistic table buffering
 
 En el primer caso la actualización es automática si movés el
 puntero. En cambio, usando 5 (optimistic table buffering), solamente se
 actualiza la tabla si le mandás un tableupdate. Además, te actualiza
 varios registros de una.
 
 Rafael Copquin
 
 
 El 26/07/2012 10:52 a.m., pablo.oviedo escribió:
  oCA.UpdateCmdRefreshKeyFieldList = IDCOM
 




[GUFA] CursorAdapter

2012-07-25 Por tema pablo.oviedo
Gracias, empece con cursoradapter y me trabe. Se pueden usar un 
cursoadapter que incluya columnas de distintas tablas? me tira error 
cuando quiero refrescar algunos campos del cursor luego de una inserción.

También estoy viendo TierAdapter. Los link que me pasaron, es posible que 
esta información este en español?

Existe alguna documentación sobre TierAdapter que describa todas las 
clases, metodos y propiedades del frameworks a parte del diagrama de UML 
que esta en el sitio de Martin?

saludos


-Original Message-
From: Rafael Copquin rcopq...@fibertel.com.ar
To: GUFA List Member  GUFA@mug.org.ar
Date: Tue, 24 Jul 2012 16:32:07 -0300
Subject: [GUFA] CursorAdapter

 Te paso un ejemplo bien completo de cómo lo hago yo:
 
 ** creacion de las tablas en sqlserver
 ** en la vida real tienen más campos, pero estos son los mínimos que 
 deberían tener
 
 CREATE TABLE [dbo].[DETALLE](
  [FECHA] [date] NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [CODIGO] [char](30) NOT NULL,
  [CANTIDAD] [int] NOT NULL,
  [PRECIO] [numeric](10, 4) NOT NULL,
  [DT] [datetime] NOT NULL,
  [IDETALLE] [int] IDENTITY(1,1) NOT NULL,
  [IDCABECERA] [int] NOT NULL,
   CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED
 (
  [IDDETALLE] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
 = 
 OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
   CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED
 (
  [IDDETALLE] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
 = 
 OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
 ) ON [PRIMARY]
 
 CREATE TABLE [dbo].[CABECERA](
  [FECHA] [date] NOT NULL,
  [CUENTA] [char](4) NOT NULL,
  [TIPODOC] [char](3) NOT NULL,
  [DOCNUM] [char](8) NOT NULL,
  [IVA] [numeric](10, 2) NOT NULL,
  [TOTAL] [numeric](10, 2) NOT NULL,
  [IDCABECERA] [int] IDENTITY(1,1) NOT NULL,
  [DT] [datetime] NOT NULL,
   CONSTRAINT [PK_IDCABECERA] PRIMARY KEY CLUSTERED
 (
  [IDCABECERA] ASC
 )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY
 = 
 OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
 ) ON [PRIMARY]
 
 
 ** lo siguiente se hace en Visual FoxPro
 
 ** generación de un cursor adapter para la tabla CABECERA
 
 Local cCmd,cSch,cUFL,cUNL,lOK
 
 Text to cCmd noshow pretext 15
 SELECT
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
   FROM CABECERA WHERE 1=0
 EndText
 
 Text to cSch noshow pretext 15
  FECHA D,
  CUENTA C(4),
  TIPODOC C(3),
  DOCNUM C(8),
  IVA N(10,2),
  TOTAL N(10,2),
  IDCABECERA I,
  DT T
 EndText
 
 
 Text to cUFL noshow pretext 15
  FECHA ,
  CUENTA ,
  TIPODOC ,
  DOCNUM ,
  IVA ,
  TOTAL ,
  IDCABECERA ,
  DT
 EndText
 
 Text to cUNL noshow pretext 15
  FECHACABECERA.FECHA,
  CUENTA   CABECERA.CUENTA,
  TIPODOC  CABECERA.TIPODOC,
  DOCNUM   CABECERA.DOCNUM,
  IVA  CABECERA.IVA,
  TOTALCABECERA.TOTAL,
  IDCABECERA   CABECERA.IDCABECERA,
  DT   CABECERA.DT
 EndText
 
 cUFL= Chrtran( cUFL, Chr(13) + Chr(10),   )
 cUNL   = Chrtran( cUNL, Chr(13) + Chr(10),   )
 cSch= Chrtran( cSch, Chr(13) + Chr(10),   )
 cCmd  = Chrtran( cCmd, Chr(13) + Chr(10),   )
 
 Use in Select()
 
 lOK = .t.
 
 If !PemStatus(thisform,'oCA',5)
 thisform.AddProperty('oCA')
 EndIf
 
 Try
 
  Thisform.oCA = Createobject(CursorAdapter)
 
  lOK = .t.
 
 Catch to oErrores
 
  MessageBox(No se pudo generar el objeto CursorAdapter+;
  Chr(13)+oErrores.message,16,Atención,2000)
 
  lOK = .f.
 
 Finally
 EndTry
 
 
 If lOK = .t.
 try
 With thisform.oCA
  .DataSourceType = ODBC
  .DataSource = thisform.nHandle
  .alias = curCabecera
  .tables = cabecera
  .BufferModeOverride = 5
  .keyfieldlist= idcabecera
  .sendupdates = .T.
  .usetransactions= .f.si están en falso, no usa 
 transacciones y funciona entonces ponerlas en manual en SQL Server
  .selectcmd = cCmd
  .updatablefieldlist = cUFL
  .updatenamelist = cUNL
  .cursorschema   = cSch
  .cursorfill()
 EndWith
 
 Select curCabecera
 
 Catch to oErrores
 
  MessageBox(No se pudo generar el Cursor 
 +Chr(13)+oErrores.message;
  ,16,Atención,2000)
 
  lOK = .f.
 
 endtry
 endif
 
 Return lOK
 
 **(hacer otro cursor adapter para la tabla DETALLE y obtener el cursor 
 curDetalle)
 
 ** la sentencia where 1=0 genera un cursor vacío. Esto es para que 
 llenes el cursor adapter con los datos necesarios antes de
 ** grabar. Estos

[GUFA] CursorAdapter

2012-07-24 Por tema pablo.oviedo
Hola, necesito hacer una aplicación vfox 9 + sqlserver. 

Pensé usar cursoradapter. No se como hacer un abm maestro-detalle usando 
cursor adapter, sí pude armar un abm para tablas simples usando 
cursorAdapter builder.

Me puede dar algun ejemplo o algun link para ver?

Como seria el manejo de transacciones con CA?

saludos, muchas gracias.




[GUFA] CursorAdapter

2012-07-24 Por tema Omar Bellio
Pablo,yo te recomiendo que inviertas algunas horas aprendiendo el uso de
algún framework, puede ser FRAMEROOT, fruto del encomio de Pablo Van Diest o
TIERADAPTER (el que uso yo) que desarrollaron Martín Salías y Rubén Rovira.

Te van a solucionar muchísimas cosas.

Saludos!

-Mensaje original-
De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de pablo.oviedo
Enviado el: martes, 24 de julio de 2012 11:16 a.m.
Para: GUFA List Member
Asunto: [GUFA] CursorAdapter

Hola, necesito hacer una aplicación vfox 9 + sqlserver. 

Pensé usar cursoradapter. No se como hacer un abm maestro-detalle usando 
cursor adapter, sí pude armar un abm para tablas simples usando 
cursorAdapter builder.

Me puede dar algun ejemplo o algun link para ver?

Como seria el manejo de transacciones con CA?

saludos, muchas gracias.





[GUFA] CursorAdapter

2012-07-24 Por tema César Pistiner
Si vas a hacer una aplicación desde cero, creo que la mejor opción es usar
el Framework TierAdapter.

Te dejo algunos links:

de Martín Salias.
http://www.salias.com.ar/TierAdapter/

de Ruben Rovira y Omar Bellio.
http://www.universalthread.com/ViewPageArticle.aspx?ID=480

http://tieradapter.sourceforge.net/

En esta lista te van a poder dar soporte, vas a tener que estudiarlo un
poco pero vale la pena.

Saludos!
César

El 24 de julio de 2012 11:15, pablo.oviedo pablo.ovi...@mug.org.arescribió:

 Hola, necesito hacer una aplicación vfox 9 + sqlserver.

 Pensé usar cursoradapter. No se como hacer un abm maestro-detalle usando
 cursor adapter, sí pude armar un abm para tablas simples usando
 cursorAdapter builder.

 Me puede dar algun ejemplo o algun link para ver?

 Como seria el manejo de transacciones con CA?

 saludos, muchas gracias.





[GUFA] CursorAdapter

2012-07-24 Por tema Rafael Copquin

Te paso un ejemplo bien completo de cómo lo hago yo:

** creacion de las tablas en sqlserver
** en la vida real tienen más campos, pero estos son los mínimos que 
deberían tener


CREATE TABLE [dbo].[DETALLE](
[FECHA] [date] NOT NULL,
[TIPODOC] [char](3) NOT NULL,
[DOCNUM] [char](8) NOT NULL,
[CODIGO] [char](30) NOT NULL,
[CANTIDAD] [int] NOT NULL,
[PRECIO] [numeric](10, 4) NOT NULL,
[DT] [datetime] NOT NULL,
[IDETALLE] [int] IDENTITY(1,1) NOT NULL,
[IDCABECERA] [int] NOT NULL,
 CONSTRAINT [PK_DETALLE] PRIMARY KEY CLUSTERED
(
[IDDETALLE] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = 
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],

 CONSTRAINT [CN_IDDETALLE] UNIQUE NONCLUSTERED
(
[IDDETALLE] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = 
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

CREATE TABLE [dbo].[CABECERA](
[FECHA] [date] NOT NULL,
[CUENTA] [char](4) NOT NULL,
[TIPODOC] [char](3) NOT NULL,
[DOCNUM] [char](8) NOT NULL,
[IVA] [numeric](10, 2) NOT NULL,
[TOTAL] [numeric](10, 2) NOT NULL,
[IDCABECERA] [int] IDENTITY(1,1) NOT NULL,
[DT] [datetime] NOT NULL,
 CONSTRAINT [PK_IDCABECERA] PRIMARY KEY CLUSTERED
(
[IDCABECERA] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = 
OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]


** lo siguiente se hace en Visual FoxPro

** generación de un cursor adapter para la tabla CABECERA

Local cCmd,cSch,cUFL,cUNL,lOK

Text to cCmd noshow pretext 15
SELECT
FECHA ,
CUENTA ,
TIPODOC ,
DOCNUM ,
IVA ,
TOTAL ,
IDCABECERA ,
DT
 FROM CABECERA WHERE 1=0
EndText

Text to cSch noshow pretext 15
FECHA D,
CUENTA C(4),
TIPODOC C(3),
DOCNUM C(8),
IVA N(10,2),
TOTAL N(10,2),
IDCABECERA I,
DT T
EndText


Text to cUFL noshow pretext 15
FECHA ,
CUENTA ,
TIPODOC ,
DOCNUM ,
IVA ,
TOTAL ,
IDCABECERA ,
DT
EndText

Text to cUNL noshow pretext 15
FECHACABECERA.FECHA,
CUENTA   CABECERA.CUENTA,
TIPODOC  CABECERA.TIPODOC,
DOCNUM   CABECERA.DOCNUM,
IVA  CABECERA.IVA,
TOTALCABECERA.TOTAL,
IDCABECERA   CABECERA.IDCABECERA,
DT   CABECERA.DT
EndText

cUFL= Chrtran( cUFL, Chr(13) + Chr(10),   )
cUNL   = Chrtran( cUNL, Chr(13) + Chr(10),   )
cSch= Chrtran( cSch, Chr(13) + Chr(10),   )
cCmd  = Chrtran( cCmd, Chr(13) + Chr(10),   )

Use in Select()

lOK = .t.

If !PemStatus(thisform,'oCA',5)
   thisform.AddProperty('oCA')
EndIf

Try

Thisform.oCA = Createobject(CursorAdapter)

lOK = .t.

Catch to oErrores

MessageBox(No se pudo generar el objeto CursorAdapter+;
Chr(13)+oErrores.message,16,Atención,2000)

lOK = .f.

Finally
EndTry


If lOK = .t.
   try
   With thisform.oCA
.DataSourceType = ODBC
.DataSource = thisform.nHandle
.alias = curCabecera
.tables = cabecera
.BufferModeOverride = 5
.keyfieldlist= idcabecera
.sendupdates = .T.
.usetransactions= .f.si están en falso, no usa 
transacciones y funciona entonces ponerlas en manual en SQL Server

.selectcmd = cCmd
.updatablefieldlist = cUFL
.updatenamelist = cUNL
.cursorschema   = cSch
.cursorfill()
   EndWith

   Select curCabecera

   Catch to oErrores

MessageBox(No se pudo generar el Cursor 
+Chr(13)+oErrores.message;

,16,Atención,2000)

lOK = .f.

   endtry
endif

Return lOK

**(hacer otro cursor adapter para la tabla DETALLE y obtener el cursor 
curDetalle)


** la sentencia where 1=0 genera un cursor vacío. Esto es para que 
llenes el cursor adapter con los datos necesarios antes de

** grabar. Estos datos salen de textboxes, grillas, cálculos, etc.

** rutina de grabación

Local lOK,nPK,cCmd,nResults,lBatchMode

SQLExec(thisform.nHandle,'BEGIN TRANSACTION')
SQLSetProp(thisform.nHandle, TRANSACTIONS, 2 )pone las 
transacciones en manuales


Select curCabecera
Scatter name oCab blank fields except idcabecera
With oCab
.fecha= Date()
.cuenta   = '1234'
.tipodoc  = 'FRA'
.docnum   = '12345678'
.iva  = 210.00
.total= 1210.00
.dt   = Datetime()
EndWith

** grabación de la cabecera y obtención de la clave primaria generada
** el campo idcabecera es autoincremental

Insert into curCabecera from name oCab

lOK = TableUpdate(.t.,.t.,'curCabecera')

If lOK = .t.

nPK  = 0
nResults = 0
cCmd = [select @@IDENTITY as pk ]

lBatchMode = SQLGetProp(thisform.nHandle,BatchMode )

SQLSetProp(thisform.nHandle,BatchMode ,.f.)


[GUFA] Cursoradapter con ADO

2012-05-22 Por tema Nicolas Arnaldo
Fijate si este ejemplo te sirve,

http://www.portalfox.com/index.php?name=Newsfile=articlesid=1168mode=nestedorder=0thold=0




El 22 de mayo de 2012 10:00, di...@isg-alexa.com escribió:

 ** **

 Gracias por contestar, Ricardo

 

 Usamos la herramienta CABUILDER, para generar la clase, que se llama en
 éste caso 'ca_alexasql'.

 ** **

   loalexadb = NEWOBJECT(
 'ca_facturas_cabecera', 'ca_alexasql')   

   loalexadb.alias = 'facturas_cabecera'***
 *

   loalexadb.CursorFill()

   loalexadb.CursorDetach()

 ** **

 Eso nos trae la tabla con los registros de la tabla desde SQL Server.   Si
 no liberamos la asociación con Cursordetach(), cada  nuevo cursor nos
 cierra el anterior. No podríamos tener más de una tabla abierta a la vez.*
 ***

 No encontramos ningún ejemplo de CursorAttach() en internet.  Intentamos
 utilizarlo por sentido común, pero no lo pudimos hacer funcionar. 

 ¿Vos tendrás algun ejemplo?

 ** **

 Muchas gracias!

 Diego.-

 * *

 ** **

 *De:* GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] *En nombre de *Ricardo
 Aidelman
 *Enviado el:* martes, 22 de mayo de 2012 08:37 a.m.
 *Para:* GUFA List Member
 *Asunto:* [GUFA] Cursoradapter con ADO

 ** **

 Hola Diego:

 No sé cómo lo estarás haciendo.

 Supongo que con el CursorAdapter.CursorFill() te traes un cursor de la
 tabla vacia del SQL, le insertas los registros provenientes de la tabla
 nativa, y después hacés un TableUpdate().

 Lo que interpreto de la descripción del error, es que después de traer el
 cursor con CursorAdapter.CursorFill(), habrás hecho
 CursorAdapter.CursorDetach().

 Si es así, no deberías ejecutar el CursorDetach(), o bien deberías asociar
 nuevamente el cursor con CursorAdapter.CursorAttach().

 ** **

 Salu2

 ** **

 ** **

 *ricardo aidelman *

 *( socio nº 1545 )*

 ** **

 ** **

 ** **

 *From:* GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] *On Behalf Of *
 di...@isg-alexa.com
 *Sent:* martes, 22 de mayo de 2012 1:07
 *To:* GUFA List Member
 *Subject:* [GUFA] Cursoradapter con ADO

 ** **

 ** **

 Hola a todos

 ** **

 Estamos migrando una aplicación de tablas nativas DBF  a
 SQL Server 2008, mediante Cursoradapter y ADO. 

 Todo parece funcionar bien, pero al querer guardar los cambios, salta el
 siguiente error:

 ** **

 “ERROR 2082

 NO SE PUEDE ACTUALIZAR ADODB.RECORDSET HASTA QUE EL CURSOR, CREADO
 MEDIANTE EL MÉTODO CURSORADAPTER.CURSORFILL, NO SE ASOCIE A UN OBJETO
 CURSORADAPTER”

 ** **

 ¿Qué estaré haciendo mal?  

 ¿Hay que usar ODBC?¿Alguien me podrá orientar?

 ** **

 Desde ya, muchísimas gracias.-

 Diego Detinis

 ** **



[GUFA] Cursoradapter con ADO

2012-05-22 Por tema Rafael Copquin
No entiendo por qué decís que si no usás cursordetach, se te cierran los 
adapters y no podés mantener más que una sola tabla por vez.


Yo abro varios cursor adapters (tanto con tablas dbf como con tablas de 
sql server) en el método load de un formulario y todos los CA permanecen 
abiertos.


Tengo una clase que los genera automáticamente y utiliza un único objeto 
CA (que se regenera con cada uno de los adapters) y a éstos los genero 
con cursorfill.


Y luego puedo utilizarlos para actualizar las tablas subyacentes con 
tableupdate. Esto es particularmente útil en el caso de las facturas, en 
las que actualizo la cabecera, la tabla de detalles, la tabla de stock, 
la tabla de caja o de cuentas corrientes según el tipo de venta, el 
libro iva ventas, etc. según la necesidad.


Te puedo pasar el ejemplo de mi clase (que está armada para ODBC, pero 
supongo que para ADO requiere muy pocas modificaciones)


Rafael Copquin


El 22/05/2012 10:00 a.m., di...@isg-alexa.com escribió:


Gracias por contestar, Ricardo

Usamos la herramienta CABUILDER, para generar la clase, que se llama 
en éste caso 'ca_alexasql'.


  loalexadb = NEWOBJECT( 
'ca_facturas_cabecera', 'ca_alexasql')


  loalexadb.alias = 'facturas_cabecera'

  loalexadb.CursorFill()

  loalexadb.CursorDetach()

Eso nos trae la tabla con los registros de la tabla desde SQL 
Server.  Si no liberamos la asociación con Cursordetach(), cada  nuevo 
cursor nos cierra el anterior. No podríamos tener más de una tabla 
abierta a la vez.


No encontramos ningún ejemplo de CursorAttach() en internet. 
 Intentamos utilizarlo por sentido común, pero no lo pudimos hacer 
funcionar.


¿Vos tendrás algun ejemplo?

Muchas gracias!

Diego.-

**




[GUFA] Cursoradapter con ADO

2012-05-22 Por tema Ricardo Aidelman
Diego:

http://sourceforge.net/projects/tieradapter/

 

Este es el ejemplo con el que yo aprendí, y utiliza ADO.

Como dijo Rafael en otro mail, tenes que tener un CursorAdapter por tabla.

La subclase rrCursorAdapter que hizo Rubén Rovira tiene algunas
consideraciones para utilizar ADO, por lo tanto es conveniente que la mires.

El método que persiste las modificaciones en el motor es Put(), de la clase
DataTierAdapter.prg

 

Basicamente, completá adecuadamente las propiedades SelectCmd, KeyFieldList,
UpdatableFieldList y UpdateNameList.

Una vez que traes el cursor con CursorFill(), pones CursorSetProp(
“Buffering”, 5 ) y lo actualizas.

Por último, haces TableUpdate() por cada tabla.

 

 

ricardo aidelman 

( socio nº 1545 )

 

 

 

 

From: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] On Behalf Of
di...@isg-alexa.com
Sent: martes, 22 de mayo de 2012 10:01
To: GUFA List Member
Subject: [GUFA] Cursoradapter con ADO

 

 

Gracias por contestar, Ricardo



Usamos la herramienta CABUILDER, para generar la clase, que se llama en éste
caso 'ca_alexasql'.

 

  loalexadb = NEWOBJECT(
'ca_facturas_cabecera', 'ca_alexasql')   

  loalexadb.alias = 'facturas_cabecera'

  loalexadb.CursorFill()

  loalexadb.CursorDetach()

 

Eso nos trae la tabla con los registros de la tabla desde SQL Server.   Si
no liberamos la asociación con Cursordetach(), cada  nuevo cursor nos cierra
el anterior. No podríamos tener más de una tabla abierta a la vez.

No encontramos ningún ejemplo de CursorAttach() en internet.  Intentamos
utilizarlo por sentido común, pero no lo pudimos hacer funcionar. 

¿Vos tendrás algun ejemplo?

 

Muchas gracias!

Diego.-

 

 

De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Ricardo Aidelman
Enviado el: martes, 22 de mayo de 2012 08:37 a.m.
Para: GUFA List Member
Asunto: [GUFA] Cursoradapter con ADO

 

Hola Diego:

No sé cómo lo estarás haciendo.

Supongo que con el CursorAdapter.CursorFill() te traes un cursor de la tabla
vacia del SQL, le insertas los registros provenientes de la tabla nativa, y
después hacés un TableUpdate().

Lo que interpreto de la descripción del error, es que después de traer el
cursor con CursorAdapter.CursorFill(), habrás hecho
CursorAdapter.CursorDetach().

Si es así, no deberías ejecutar el CursorDetach(), o bien deberías asociar
nuevamente el cursor con CursorAdapter.CursorAttach().

 

Salu2

 

 

ricardo aidelman 

( socio nº 1545 )

 

 

 

From: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] On Behalf Of
di...@isg-alexa.com
Sent: martes, 22 de mayo de 2012 1:07
To: GUFA List Member
Subject: [GUFA] Cursoradapter con ADO

 

 

Hola a todos

 

Estamos migrando una aplicación de tablas nativas DBF  a SQL
Server 2008, mediante Cursoradapter y ADO. 

Todo parece funcionar bien, pero al querer guardar los cambios, salta el
siguiente error:

 

“ERROR 2082

NO SE PUEDE ACTUALIZAR ADODB.RECORDSET HASTA QUE EL CURSOR, CREADO MEDIANTE
EL MÉTODO CURSORADAPTER.CURSORFILL, NO SE ASOCIE A UN OBJETO CURSORADAPTER”

 

¿Qué estaré haciendo mal?  

¿Hay que usar ODBC?¿Alguien me podrá orientar?

 

Desde ya, muchísimas gracias.-

Diego Detinis

 



[GUFA] Cursoradapter con ADO...SOLUCIONADO!

2012-05-22 Por tema diego
Ricardo y Rafael

 

   Muchas gracias a los dos.

En efecto, no era necesario usar Cursodetach().  Estaba usando el mismo
Cursoradapter, y por éso cada tabla me “cerraba” la anterior.

Todos los comentarios, super interesantes.

 

Saludos!,

Diego 

 

De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Ricardo Aidelman
Enviado el: martes, 22 de mayo de 2012 05:18 p.m.
Para: GUFA List Member
Asunto: [GUFA] Cursoradapter con ADO

 

Diego:

http://sourceforge.net/projects/tieradapter/

 

Este es el ejemplo con el que yo aprendí, y utiliza ADO.

Como dijo Rafael en otro mail, tenes que tener un CursorAdapter por tabla.

La subclase rrCursorAdapter que hizo Rubén Rovira tiene algunas
consideraciones para utilizar ADO, por lo tanto es conveniente que la mires.

El método que persiste las modificaciones en el motor es Put(), de la clase
DataTierAdapter.prg

 

Basicamente, completá adecuadamente las propiedades SelectCmd, KeyFieldList,
UpdatableFieldList y UpdateNameList.

Una vez que traes el cursor con CursorFill(), pones CursorSetProp(
“Buffering”, 5 ) y lo actualizas.

Por último, haces TableUpdate() por cada tabla.

 

 

ricardo aidelman 

( socio nº 1545 )

 

 

 

 

From: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] On Behalf Of
di...@isg-alexa.com
Sent: martes, 22 de mayo de 2012 10:01
To: GUFA List Member
Subject: [GUFA] Cursoradapter con ADO

 

 

Gracias por contestar, Ricardo



Usamos la herramienta CABUILDER, para generar la clase, que se llama en éste
caso 'ca_alexasql'.

 

  loalexadb = NEWOBJECT(
'ca_facturas_cabecera', 'ca_alexasql')   

  loalexadb.alias = 'facturas_cabecera'

  loalexadb.CursorFill()

  loalexadb.CursorDetach()

 

Eso nos trae la tabla con los registros de la tabla desde SQL Server.   Si
no liberamos la asociación con Cursordetach(), cada  nuevo cursor nos cierra
el anterior. No podríamos tener más de una tabla abierta a la vez.

No encontramos ningún ejemplo de CursorAttach() en internet.  Intentamos
utilizarlo por sentido común, pero no lo pudimos hacer funcionar. 

¿Vos tendrás algun ejemplo?

 

Muchas gracias!

Diego.-

 

 

De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Ricardo Aidelman
Enviado el: martes, 22 de mayo de 2012 08:37 a.m.
Para: GUFA List Member
Asunto: [GUFA] Cursoradapter con ADO

 

Hola Diego:

No sé cómo lo estarás haciendo.

Supongo que con el CursorAdapter.CursorFill() te traes un cursor de la tabla
vacia del SQL, le insertas los registros provenientes de la tabla nativa, y
después hacés un TableUpdate().

Lo que interpreto de la descripción del error, es que después de traer el
cursor con CursorAdapter.CursorFill(), habrás hecho
CursorAdapter.CursorDetach().

Si es así, no deberías ejecutar el CursorDetach(), o bien deberías asociar
nuevamente el cursor con CursorAdapter.CursorAttach().

 

Salu2

 

 

ricardo aidelman 

( socio nº 1545 )

 

 

 

From: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] On Behalf Of
di...@isg-alexa.com
Sent: martes, 22 de mayo de 2012 1:07
To: GUFA List Member
Subject: [GUFA] Cursoradapter con ADO

 

 

Hola a todos

 

Estamos migrando una aplicación de tablas nativas DBF  a SQL
Server 2008, mediante Cursoradapter y ADO. 

Todo parece funcionar bien, pero al querer guardar los cambios, salta el
siguiente error:

 

“ERROR 2082

NO SE PUEDE ACTUALIZAR ADODB.RECORDSET HASTA QUE EL CURSOR, CREADO MEDIANTE
EL MÉTODO CURSORADAPTER.CURSORFILL, NO SE ASOCIE A UN OBJETO CURSORADAPTER”

 

¿Qué estaré haciendo mal?  

¿Hay que usar ODBC?¿Alguien me podrá orientar?

 

Desde ya, muchísimas gracias.-

Diego Detinis

 



[GUFA] CursorAdapter

2009-11-18 Por tema Rafael Copquin
En las propiedades del CA fijate en el evento init. Tiene hardcodeado ( esa 
es una palabra de inglesñol ) el path y el nombre de la DBC. Simplemente 
cambialo por el path y nombre de la DBC en el otro disco y te va a funcionar

Rafael Copquin

  - Original Message - 
  From: Norberto Mario Alvarez 
  To: GUFA List Member 
  Sent: Tuesday, November 17, 2009 8:37 PM
  Subject: [GUFA] CursorAdapter


  Estimados colisteros, hace unos días, Rafael Copquin tiro al grupo como crear 
un cursor adapter en el DE de un form. Lo use y anda fantástico!!!, el problema 
es cuando lo pongo en otro disco me va a buscar DBC al lugar predeterminado 
donde hice el diseño, aún así le pongo en el TAG, de las propiedades del CA y 
sigue manteniendo el lugar predeterminado, realmente no entiendo lo que pasa. 
Si alguien me tira una mano lo agradezco. Desde ya muchas gracias y gracias 
Rafael.

   

   

   

 Norberto Alvarez

 Socio # 1892

   


[GUFA] CursorAdapter

2009-11-18 Por tema Norberto Mario Alvarez
Hola Rafael, en el Init de las propiedades de la CA solo tengo esto:

 

*** Setup code: DO NOT REMOVE

local llReturn

do case

  case not pemstatus(This, '__VFPSetup', 5)

This.AddProperty('__VFPSetup', 0)

  case This.__VFPSetup = 1

This.__VFPSetup = 2

  case This.__VFPSetup = 2

This.__VFPSetup = 0

return

endcase

set multilocks on

llReturn = dodefault()

*** End of Setup code: DO NOT REMOVE

 

*** Setup code: DO NOT REMOVE

if This.__VFPSetup = 1

  This.__VFPSetup = 2

endif

return llReturn

*** End of Setup code: DO NOT REMOVE

 

Por casualidad tenes un ejemplo muy simple para el  INIT

 

Gracias

 

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Rafael Copquin
Enviado el: miércoles, 18 de noviembre de 2009 08:37 a.m.
Para: GUFA List Member
Asunto: [GUFA] CursorAdapter

 

En las propiedades del CA fijate en el evento init. Tiene hardcodeado (
esa es una palabra de inglesñol ) el path y el nombre de la DBC. Simplemente
cambialo por el path y nombre de la DBC en el otro disco y te va a funcionar

 

Rafael Copquin

 

- Original Message - 

From: Norberto Mario Alvarez mailto:n...@nmasystems.com.ar  

To: GUFA List Member mailto:GUFA@mug.org.ar  

Sent: Tuesday, November 17, 2009 8:37 PM

Subject: [GUFA] CursorAdapter

 

Estimados colisteros, hace unos días, Rafael Copquin tiro al grupo como
crear un cursor adapter en el DE de un form. Lo use y anda fantástico!!!, el
problema es cuando lo pongo en otro disco me va a buscar DBC al lugar
predeterminado donde hice el diseño, aún así le pongo en el TAG, de las
propiedades del CA y sigue manteniendo el lugar predeterminado, realmente no
entiendo lo que pasa. Si alguien me tira una mano lo agradezco. Desde ya
muchas gracias y gracias Rafael.

 

 

 

   Norberto Alvarez

   Socio # 1892

 



[GUFA] CursorAdapter

2009-11-18 Por tema Rafael Copquin
Si hiciste un cursor adapter completo en el data environment y con el 
builder, deberias tener en el metodo init lo siguiente:



*** Setup code: DO NOT REMOVE
local llReturn
do case
case not pemstatus(This, '__VFPSetup', 5)
This.AddProperty('__VFPSetup', 0)
case This.__VFPSetup = 1
This.__VFPSetup = 2
case This.__VFPSetup = 2
This.__VFPSetup = 0
return
endcase
set multilocks on
llReturn = dodefault()
*** End of Setup code: DO NOT REMOVE
*** Select connection code: DO NOT REMOVE
local lcDBC
lcDBC = 'C:\MICLIENTE\TABLAS\SISTEMA.DBC'
if dbused(lcDBC)
set database to (lcDBC)
else
open database (lcDBC)
endif
*** End of Select connection code: DO NOT REMOVE
*** Setup code: DO NOT REMOVE
if This.__VFPSetup = 1
This.__VFPSetup = 2
endif
return llReturn
*** End of Setup code: DO NOT REMOVE


- Original Message - 
From: Norberto Mario Alvarez

To: GUFA List Member
Sent: Wednesday, November 18, 2009 8:46 AM
Subject: [GUFA] CursorAdapter


Hola Rafael, en el Init de las propiedades de la CA solo tengo esto:

*** Setup code: DO NOT REMOVE
local llReturn
do case
 case not pemstatus(This, '__VFPSetup', 5)
   This.AddProperty('__VFPSetup', 0)
 case This.__VFPSetup = 1
   This.__VFPSetup = 2
 case This.__VFPSetup = 2
   This.__VFPSetup = 0
   return
endcase
set multilocks on
llReturn = dodefault()
*** End of Setup code: DO NOT REMOVE

*** Setup code: DO NOT REMOVE
if This.__VFPSetup = 1
 This.__VFPSetup = 2
endif
return llReturn
*** End of Setup code: DO NOT REMOVE

Por casualidad tenes un ejemplo muy simple para el  INIT

Gracias

De: GUFA@mug.org.ar [mailto:g...@mug.org.ar] En nombre de Rafael Copquin
Enviado el: miércoles, 18 de noviembre de 2009 08:37 a.m.
Para: GUFA List Member
Asunto: [GUFA] CursorAdapter

En las propiedades del CA fijate en el evento init. Tiene hardcodeado ( 
esa es una palabra de inglesñol ) el path y el nombre de la DBC. Simplemente 
cambialo por el path y nombre de la DBC en el otro disco y te va a funcionar


Rafael Copquin

- Original Message - 
From: Norberto Mario Alvarez

To: GUFA List Member
Sent: Tuesday, November 17, 2009 8:37 PM
Subject: [GUFA] CursorAdapter

Estimados colisteros, hace unos días, Rafael Copquin tiro al grupo como 
crear un cursor adapter en el DE de un form. Lo use y anda fantástico!!!, el 
problema es cuando lo pongo en otro disco me va a buscar DBC al lugar 
predeterminado donde hice el diseño, aún así le pongo en el TAG, de las 
propiedades del CA y sigue manteniendo el lugar predeterminado, realmente no 
entiendo lo que pasa. Si alguien me tira una mano lo agradezco. Desde ya 
muchas gracias y gracias Rafael.




  Norberto Alvarez
  Socio # 1892





[GUFA] Cursoradapter

2008-12-16 Por tema Pronotti Cristina
Buen dia

Estoy trabajando con cursoradapter con conexion tipo ADO

Cuando quiero hacer un append blank y la tabla esta vacia no tengo ningún 
problema, inserta el registro todo bien-

 

Si la tabla tiene registros, y quiero hacer el append blank, cuando quiero 
insertar el registro me da el siguiente error:

 

Proveedor de datos o en otro servicio devolvió un estado E_FAIL

 

 

Ya probe a ponerle nulos a las fechas que son {}

Pero nada.

No se que puede ser.

Alguien me puede ayudar.

Gracias



[GUFA] Cursoradapter con tablas nativas

2008-10-04 Por tema Carlos Morandin
Una consulta, cuando creo un cursoradapter con tablas nativas veo en la
sesión de datos que tambien se abren las tablas involucradas en el 
cursoradapter, es decir que en lugar de optimizar mi red, solo trayendo 
los datos que necesito en el cursoradapter, tambien se abre la base de 
datos completa, con lo cual no estaría optimizando para nada el tráfico de red.
entiendo que con un servidor de base de datos esto no pasaría pero el tema
es tener las dos alternativas de trabajo, y lo más optimizado posible en cuanto 
a trafico
de red se pueda.
la pregunta es si esto es así o hay algo que no estoy haciendo bien.
Desde ya muchas gracias.
Carlos Morandin



[GUFA] Cursoradapter y paginacion en VFP 9

2008-08-06 Por tema Emiliano Saldivia Martorell
Ok, gracias Walter, pero ya lo hice y cuando hago un browse del
cursoradapter, en el init del form, me trae los 8.000 registros.
Saludos...

Emiliano


El 5 de agosto de 2008 21:19, Walter Cómito [EMAIL PROTECTED] escribió:

  primero generas un cursor adapter en el entorno de datos, una vez que
 elgis el metodo para obtener los datos tenes en la segunda pestaña para
 elegir el archivo a mostrar.

 En la misma segunda pestaña por el medio dice Data Fetching, en ese lugar
 tenes para elegir la cantidad de registros a mostrar por vez.

 Si no me equivoco por ahí esta el tema, por sentencia no se como se hace

 * *

 *Walter Cómito*

  Analista de Sistemas

  MP 0397 C.P.C.I.P.C.



 › [EMAIL PROTECTED] - [EMAIL PROTECTED] [EMAIL PROTECTED]*

 › msn: [EMAIL PROTECTED]

 (* **+54 351 494.4667 / 153.292.707***

 þ *www.softram.com.ar [EMAIL PROTECTED]*



 *De:* GUFA@mug.org.ar [mailto:[EMAIL PROTECTED] *En nombre de *Emiliano
 Saldivia Martorell
 *Enviado el:* Martes, 05 de Agosto de 2008 08:48 p.m.
 *Para:* GUFA List Member
 *Asunto:* [GUFA] Cursoradapter y paginacion en VFP 9



 Hola a todos, estoy intentando usar por primera vez los cursoradapter
 porque tengo un formulario que accede a una tabla de socios que posee 8.000
 registros, y lo que quiero es que me vaya trayendo de a 10, pero no logro
 hacerlo funcionar.
 A la tabla que intento acceder es una dbf de VFP. Como tengo que
 configurarla?
 Ya usé el builder y después me metí en las propiedades del cursoradapter,
 pero no me trae de a 10.
 Muchas gracias y saludos...

 Emiliano Saldivia
 Rosario



[GUFA] Cursoradapter y paginacion en VFP 9

2008-08-05 Por tema Emiliano Saldivia Martorell
Hola a todos, estoy intentando usar por primera vez los cursoradapter porque
tengo un formulario que accede a una tabla de socios que posee 8.000
registros, y lo que quiero es que me vaya trayendo de a 10, pero no logro
hacerlo funcionar.
A la tabla que intento acceder es una dbf de VFP. Como tengo que
configurarla?
Ya usé el builder y después me metí en las propiedades del cursoradapter,
pero no me trae de a 10.
Muchas gracias y saludos...

Emiliano Saldivia
Rosario


[GUFA] Cursoradapter y paginacion en VFP 9

2008-08-05 Por tema Walter Cómito
primero generas un cursor adapter en el entorno de datos, una vez que elgis
el metodo para obtener los datos tenes en la segunda pestaña para elegir el
archivo a mostrar.

En la misma segunda pestaña por el medio dice Data Fetching, en ese lugar
tenes para elegir la cantidad de registros a mostrar por vez. 

Si no me equivoco por ahí esta el tema, por sentencia no se como se hace

 

Walter Cómito

 Analista de Sistemas

 MP 0397 C.P.C.I.P.C.

 

›  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] -
mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

› msn:  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED]

( +54 351 494.4667 / 153.292.707

þ  mailto:[EMAIL PROTECTED] www.softram.com.ar

 

De: GUFA@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Emiliano Saldivia
Martorell
Enviado el: Martes, 05 de Agosto de 2008 08:48 p.m.
Para: GUFA List Member
Asunto: [GUFA] Cursoradapter y paginacion en VFP 9

 

Hola a todos, estoy intentando usar por primera vez los cursoradapter porque
tengo un formulario que accede a una tabla de socios que posee 8.000
registros, y lo que quiero es que me vaya trayendo de a 10, pero no logro
hacerlo funcionar.
A la tabla que intento acceder es una dbf de VFP. Como tengo que
configurarla?
Ya usé el builder y después me metí en las propiedades del cursoradapter,
pero no me trae de a 10.
Muchas gracias y saludos...

Emiliano Saldivia
Rosario



[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla 
:-)

pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un 
cursoradapter???

Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias 
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo 
mismo corre para las otras 2 propiedades que mencione.

Gracias
Hernan





[gufa] Cursoradapter

2007-03-14 Por tema Sebastian Garcia
No estoy seguro, pero creo que tenias que utilizar TEXT...ENDTEXT para eso.
Que me ayude alguien mas tambien porque no estoy seguro.
Saludos.Sebastian E. Garcia



 From: [EMAIL PROTECTED] To: gufa@mug.org.ar Subject: [gufa] Cursoradapter 
 Date: Wed, 14 Mar 2007 10:25:26 -0300  Gente con la noticia del dia (vfp10 
 minga!!!) a mi tema nadie le va a dar bolilla  :-) pero bueno, si alguien 
 se acuerda de leerme, please, que me conteste. Como se hace para meter una 
 propiedad de mas de 252 caracteres en un  cursoradapter??? Sobre todo estoy 
 hablando de SelectCmd, UpdateNameList y UpdatableFieldList. Porque si tengo 
 esa limitacion, como hago para traer un select de varias  tablas? no llego 
 nunca a menos que sea un select con pocos campos. Y lo  mismo corre para las 
 otras 2 propiedades que mencione. Gracias Hernan   
_
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+worldmkt=en-USform=QBRE

[gufa] Cursoradapter

2007-03-14 Por tema Martín R . Comparetto
Hernan:
Podes hacer:

TEXT TO cSql NOSHOW PRETEXT 7
SELECT ...
ENDTEXT 

Y después asignas a la propiedad que corresponda la variable cSql

Abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan







[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda

Hola Martin
Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me 
tiro error? . No se bien que hacer porque de las 2 maneras tira error. 
Seguramente es mejor con Text ... EndText, no se porque pero si todo el 
mundo lo hace debe ser asi. Pero esa tambien falla.

Saludos
Hernan




- Original Message - 
From: Martín R. Comparetto [EMAIL PROTECTED]

To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 10:52 AM
Subject: [gufa] Cursoradapter


Hernan:
Podes hacer:

TEXT TO cSql NOSHOW PRETEXT 7
SELECT ...
ENDTEXT

Y después asignas a la propiedad que corresponda la variable cSql

Abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan








[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda
Tambien hago eso y tambien falla, en cuanto le asigno la variable al 
cursoradapter rebota en ese momento, si siquiera llego al cursorfill()

Saludos
Hernan



- Original Message - 
From: Lucas Fabbi [EMAIL PROTECTED]

To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 10:51 AM
Subject: [gufa] Cursoradapter


mmm no se si entedi bien...
Si vos tenes un select muy largo y lo queres meter en un cursor adapter en 
el SelectCMD

yo lo que hago uso Text endText
o una variable
lcSelect = ' Select (lo que quieras) from tabla inner join lo que quieras'
despues le paso al SelectCMD del cursorAdapter la variable y listo
no se si era eso
saludos
Lucas


- Mensaje original 
De: Hernán Baranda [EMAIL PROTECTED]
Para: gufa List Member gufa@mug.org.ar
Enviado: miércoles 14 de marzo de 2007, 10:25:26
Asunto: [gufa] Cursoradapter


Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan






__
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas





[gufa] Cursoradapter

2007-03-14 Por tema Martín R . Comparetto
Fijate que no te quede ningún salto de línea, o algún carácter extraño de
esos.
Sino, podes hacer:
cUpdateFieldList = . 
cUpdateFieldList = cUpdateFieldList + . 
cUpdateFieldList = cUpdateFieldList + . 
(todos los que necesites)

Y así, la cadena te va a permitir mas de 254 caracteres.

Un abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 11:03 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Hola Martin
Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me
tiro error? . No se bien que hacer porque de las 2 maneras tira error. 
Seguramente es mejor con Text ... EndText, no se porque pero si todo el
mundo lo hace debe ser asi. Pero esa tambien falla.
Saludos
Hernan




- Original Message -
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 10:52 AM
Subject: [gufa] Cursoradapter


Hernan:
Podes hacer:

TEXT TO cSql NOSHOW PRETEXT 7
SELECT ...
ENDTEXT

Y después asignas a la propiedad que corresponda la variable cSql

Abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan










[gufa] Cursoradapter

2007-03-14 Por tema Ricardo Aidelman
Hola Hernan:

 

Probá con:

Text To cSQL NoShow TextMerge Pretext 15



Endtext

 

El error que te tira puede ser que encuentre algun retorno de carro u otro
carácter no imprimible

 

 

Del help:

The following table lists numeric additive flags that you can use in
eExpression to specify additional behavior. 

 

Value  Description  

1Eliminate spaces before each line.

 

2Eliminate tabs before each line.

 

4Eliminate carriage returns, for example, blank lines, before each line.

 

8Eliminate line feeds.

 

 

Salu2

 

Ricardo Aidelman (Socio 1545)

Praxis Computación

Buenos Aires

Argentina

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 11:03
Para: gufa List Member
Asunto: [gufa] Cursoradapter

 

Hola Martin

Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me 

tiro error? . No se bien que hacer porque de las 2 maneras tira error. 

Seguramente es mejor con Text ... EndText, no se porque pero si todo el 

mundo lo hace debe ser asi. Pero esa tambien falla.

Saludos

Hernan

 

 

 

 

- Original Message - 

From: Martín R. Comparetto [EMAIL PROTECTED]

To: gufa List Member gufa@mug.org.ar

Sent: Wednesday, March 14, 2007 10:52 AM

Subject: [gufa] Cursoradapter

 

 

Hernan:

Podes hacer:

 

TEXT TO cSql NOSHOW PRETEXT 7

SELECT ...

ENDTEXT

 

Y después asignas a la propiedad que corresponda la variable cSql

 

Abrazo,

 

 

Martín R. Comparetto

[EMAIL PROTECTED]

(0341) 425-9808

www.newdev.com.ar

 

-Mensaje original-

De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda

Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.

Para: gufa List Member

Asunto: [gufa] Cursoradapter

 

Gente

con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla

:-)

pero bueno, si alguien se acuerda de leerme, please, que me conteste.

Como se hace para meter una propiedad de mas de 252 caracteres en un

cursoradapter???

Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.

Porque si tengo esa limitacion, como hago para traer un select de varias

tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo

mismo corre para las otras 2 propiedades que mencione.

Gracias

Hernan

 

 

 

 

 

 

 

 

-- 

No virus found in this incoming message.

Checked by AVG Free Edition.

Version: 7.5.446 / Virus Database: 268.18.11/721 - Release Date: 13/03/2007
16:51

 



[gufa] Cursoradapter

2007-03-14 Por tema Pablo Sigüenza
Probaron con var1 = ''  (hasta 254)  var2 = '...' hasta 254 var3 = 
var1 + var2  y pasar var3 ??


Alguna vez lo use con un select común y me anduvo.


Pablo Sigüenza
 Socio # 1074
- Original Message - 
From: Hernán Baranda [EMAIL PROTECTED]

To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 11:50 AM
Subject: [gufa] Cursoradapter


No hay caso, usando lo que sugeris para evitar caracteres extraños y otras 
yerbas tampoco. En cuanto llego a la linea donde le asigno la variable a 
la propiedad tira error. En ese momento el string tiene 269 caracteres, si 
le saco un campo me queda de 254 caracteres y ahi anda fenomeno.
Esto es una pesadilla. Alguien NO tiene este problema?, me encantaria 
saber que tiene solucion aunque yo no la conozca (aun)

Hernan



- Original Message - 
From: Martín R. Comparetto [EMAIL PROTECTED]

To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 11:08 AM
Subject: [gufa] Cursoradapter


Fijate que no te quede ningún salto de línea, o algún carácter extraño de
esos.
Sino, podes hacer:
cUpdateFieldList = .
cUpdateFieldList = cUpdateFieldList + .
cUpdateFieldList = cUpdateFieldList + .
(todos los que necesites)

Y así, la cadena te va a permitir mas de 254 caracteres.

Un abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 11:03 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Hola Martin
Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me
tiro error? . No se bien que hacer porque de las 2 maneras tira error.
Seguramente es mejor con Text ... EndText, no se porque pero si todo el
mundo lo hace debe ser asi. Pero esa tambien falla.
Saludos
Hernan




- Original Message -
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 10:52 AM
Subject: [gufa] Cursoradapter


Hernan:
Podes hacer:

TEXT TO cSql NOSHOW PRETEXT 7
SELECT ...
ENDTEXT

Y después asignas a la propiedad que corresponda la variable cSql

Abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar 
bolilla

:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y 
UpdatableFieldList.

Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan














[gufa] Cursoradapter

2007-03-14 Por tema PabloC
Hernan conque version de VFP lo estas probando, tengo entendido que eso era una 
limitacion de la primer version del cursoradapter

Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 11:50 AM
  Subject: [gufa] Cursoradapter


  No hay caso, usando lo que sugeris para evitar caracteres extraños y otras 
  yerbas tampoco. En cuanto llego a la linea donde le asigno la variable a la 
  propiedad tira error. En ese momento el string tiene 269 caracteres, si le 
  saco un campo me queda de 254 caracteres y ahi anda fenomeno.
  Esto es una pesadilla. Alguien NO tiene este problema?, me encantaria saber 
  que tiene solucion aunque yo no la conozca (aun)
  Hernan



  - Original Message - 
  From: Martín R. Comparetto [EMAIL PROTECTED]
  To: gufa List Member gufa@mug.org.ar
  Sent: Wednesday, March 14, 2007 11:08 AM
  Subject: [gufa] Cursoradapter


  Fijate que no te quede ningún salto de línea, o algún carácter extraño de
  esos.
  Sino, podes hacer:
  cUpdateFieldList = .
  cUpdateFieldList = cUpdateFieldList + .
  cUpdateFieldList = cUpdateFieldList + .
  (todos los que necesites)

  Y así, la cadena te va a permitir mas de 254 caracteres.

  Un abrazo,


  Martín R. Comparetto
  [EMAIL PROTECTED]
  (0341) 425-9808
  www.newdev.com.ar

  -Mensaje original-
  De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
  Enviado el: Miércoles, 14 de Marzo de 2007 11:03 a.m.
  Para: gufa List Member
  Asunto: [gufa] Cursoradapter

  Hola Martin
  Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me
  tiro error? . No se bien que hacer porque de las 2 maneras tira error.
  Seguramente es mejor con Text ... EndText, no se porque pero si todo el
  mundo lo hace debe ser asi. Pero esa tambien falla.
  Saludos
  Hernan




  - Original Message -
  From: Martín R. Comparetto [EMAIL PROTECTED]
  To: gufa List Member gufa@mug.org.ar
  Sent: Wednesday, March 14, 2007 10:52 AM
  Subject: [gufa] Cursoradapter


  Hernan:
  Podes hacer:

  TEXT TO cSql NOSHOW PRETEXT 7
  SELECT ...
  ENDTEXT

  Y después asignas a la propiedad que corresponda la variable cSql

  Abrazo,


  Martín R. Comparetto
  [EMAIL PROTECTED]
  (0341) 425-9808
  www.newdev.com.ar

  -Mensaje original-
  De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
  Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
  Para: gufa List Member
  Asunto: [gufa] Cursoradapter

  Gente
  con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
  :-)
  pero bueno, si alguien se acuerda de leerme, please, que me conteste.
  Como se hace para meter una propiedad de mas de 252 caracteres en un
  cursoradapter???
  Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
  Porque si tengo esa limitacion, como hago para traer un select de varias
  tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
  mismo corre para las otras 2 propiedades que mencione.
  Gracias
  Hernan










  __ Información de NOD32, revisión 2114 (20070314) __

  Este mensaje ha sido analizado con  NOD32 antivirus system
  http://www.nod32.com



[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda
vfp9 sp1, es decir con todos los chiches.
Sabes que leyendo algo de MarkMcCassland, que hizo un builder para manejo de 
cursoradapters, el decia exactamente lo mismo que vos. El problema que tengo es 
que parece que a mi eso no me toca ;-(

*!* There was a known issue with a limitation in the Property sheet

*!* which only allowed the display of a maximum of 255 characters.

*!* This was particularly annoying for properties like CursorSchema

*!* because without information in the CursorSchema property, you

*!* could not drag fields from the cursor and drop them onto a form.

*!* This limitation of the Property Sheet NO LONGER EXISTS.

Hernan


  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 12:53 PM
  Subject: [gufa] Cursoradapter


  Hernan conque version de VFP lo estas probando, tengo entendido que eso era 
una limitacion de la primer version del cursoradapter

  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 11:50 AM
Subject: [gufa] Cursoradapter


No hay caso, usando lo que sugeris para evitar caracteres extraños y otras 
yerbas tampoco. En cuanto llego a la linea donde le asigno la variable a la 
propiedad tira error. En ese momento el string tiene 269 caracteres, si le 
saco un campo me queda de 254 caracteres y ahi anda fenomeno.
Esto es una pesadilla. Alguien NO tiene este problema?, me encantaria saber 
que tiene solucion aunque yo no la conozca (aun)
Hernan



- Original Message - 
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 11:08 AM
Subject: [gufa] Cursoradapter


Fijate que no te quede ningún salto de línea, o algún carácter extraño de
esos.
Sino, podes hacer:
cUpdateFieldList = .
cUpdateFieldList = cUpdateFieldList + .
cUpdateFieldList = cUpdateFieldList + .
(todos los que necesites)

Y así, la cadena te va a permitir mas de 254 caracteres.

Un abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 11:03 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Hola Martin
Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me
tiro error? . No se bien que hacer porque de las 2 maneras tira error.
Seguramente es mejor con Text ... EndText, no se porque pero si todo el
mundo lo hace debe ser asi. Pero esa tambien falla.
Saludos
Hernan




- Original Message -
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 10:52 AM
Subject: [gufa] Cursoradapter


Hernan:
Podes hacer:

TEXT TO cSql NOSHOW PRETEXT 7
SELECT ...
ENDTEXT

Y después asignas a la propiedad que corresponda la variable cSql

Abrazo,


Martín R. Comparetto
[EMAIL PROTECTED]
(0341) 425-9808
www.newdev.com.ar

-Mensaje original-
De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
Para: gufa List Member
Asunto: [gufa] Cursoradapter

Gente
con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar bolilla
:-)
pero bueno, si alguien se acuerda de leerme, please, que me conteste.
Como se hace para meter una propiedad de mas de 252 caracteres en un
cursoradapter???
Sobre todo estoy hablando de SelectCmd, UpdateNameList y UpdatableFieldList.
Porque si tengo esa limitacion, como hago para traer un select de varias
tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
mismo corre para las otras 2 propiedades que mencione.
Gracias
Hernan










__ Información de NOD32, revisión 2114 (20070314) __

Este mensaje ha sido analizado con  NOD32 antivirus system
http://www.nod32.com



[gufa] Cursoradapter

2007-03-14 Por tema PabloC
Hernan, me podes pasar las lineas de codigo de como pones esos 200 y pico de 
caracteres


Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 1:10 PM
  Subject: [gufa] Cursoradapter


  vfp9 sp1, es decir con todos los chiches.
  Sabes que leyendo algo de MarkMcCassland, que hizo un builder para manejo de 
cursoradapters, el decia exactamente lo mismo que vos. El problema que tengo es 
que parece que a mi eso no me toca ;-(

  *!* There was a known issue with a limitation in the Property sheet

  *!* which only allowed the display of a maximum of 255 characters.

  *!* This was particularly annoying for properties like CursorSchema

  *!* because without information in the CursorSchema property, you

  *!* could not drag fields from the cursor and drop them onto a form.

  *!* This limitation of the Property Sheet NO LONGER EXISTS.

  Hernan


- Original Message - 
From: PabloC 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 12:53 PM
Subject: [gufa] Cursoradapter


Hernan conque version de VFP lo estas probando, tengo entendido que eso era 
una limitacion de la primer version del cursoradapter

Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 11:50 AM
  Subject: [gufa] Cursoradapter


  No hay caso, usando lo que sugeris para evitar caracteres extraños y 
otras 
  yerbas tampoco. En cuanto llego a la linea donde le asigno la variable a 
la 
  propiedad tira error. En ese momento el string tiene 269 caracteres, si 
le 
  saco un campo me queda de 254 caracteres y ahi anda fenomeno.
  Esto es una pesadilla. Alguien NO tiene este problema?, me encantaria 
saber 
  que tiene solucion aunque yo no la conozca (aun)
  Hernan



  - Original Message - 
  From: Martín R. Comparetto [EMAIL PROTECTED]
  To: gufa List Member gufa@mug.org.ar
  Sent: Wednesday, March 14, 2007 11:08 AM
  Subject: [gufa] Cursoradapter


  Fijate que no te quede ningún salto de línea, o algún carácter extraño de
  esos.
  Sino, podes hacer:
  cUpdateFieldList = .
  cUpdateFieldList = cUpdateFieldList + .
  cUpdateFieldList = cUpdateFieldList + .
  (todos los que necesites)

  Y así, la cadena te va a permitir mas de 254 caracteres.

  Un abrazo,


  Martín R. Comparetto
  [EMAIL PROTECTED]
  (0341) 425-9808
  www.newdev.com.ar

  -Mensaje original-
  De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
  Enviado el: Miércoles, 14 de Marzo de 2007 11:03 a.m.
  Para: gufa List Member
  Asunto: [gufa] Cursoradapter

  Hola Martin
  Sabes que haciendo el UpdatableFieldList con Text ... EndText tambien me
  tiro error? . No se bien que hacer porque de las 2 maneras tira error.
  Seguramente es mejor con Text ... EndText, no se porque pero si todo el
  mundo lo hace debe ser asi. Pero esa tambien falla.
  Saludos
  Hernan




  - Original Message -
  From: Martín R. Comparetto [EMAIL PROTECTED]
  To: gufa List Member gufa@mug.org.ar
  Sent: Wednesday, March 14, 2007 10:52 AM
  Subject: [gufa] Cursoradapter


  Hernan:
  Podes hacer:

  TEXT TO cSql NOSHOW PRETEXT 7
  SELECT ...
  ENDTEXT

  Y después asignas a la propiedad que corresponda la variable cSql

  Abrazo,


  Martín R. Comparetto
  [EMAIL PROTECTED]
  (0341) 425-9808
  www.newdev.com.ar

  -Mensaje original-
  De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán Baranda
  Enviado el: Miércoles, 14 de Marzo de 2007 10:25 a.m.
  Para: gufa List Member
  Asunto: [gufa] Cursoradapter

  Gente
  con la noticia del dia (vfp10 minga!!!) a mi tema nadie le va a dar 
bolilla
  :-)
  pero bueno, si alguien se acuerda de leerme, please, que me conteste.
  Como se hace para meter una propiedad de mas de 252 caracteres en un
  cursoradapter???
  Sobre todo estoy hablando de SelectCmd, UpdateNameList y 
UpdatableFieldList.
  Porque si tengo esa limitacion, como hago para traer un select de varias
  tablas? no llego nunca  a menos que sea un select con pocos campos. Y lo
  mismo corre para las otras 2 propiedades que mencione.
  Gracias
  Hernan










  __ Información de NOD32, revisión 2114 (20070314) __

  Este mensaje ha sido analizado con  NOD32 antivirus system
  http://www.nod32.com




  __ Información de NOD32, revisión 2114 (20070314) __

  Este mensaje ha sido analizado con NOD32 antivirus system
  http://www.nod32.com


[gufa] Cursoradapter

2007-03-14 Por tema Sebastian Garcia
Si utilizas ALIAS para hacer la consulta mas corta no te funciona?
Algo asi:
 
cSelectCmd = 'SELECT EC.expr_cliid, EC.clienteid, EC.expresoid, '
cSelectCmd = cSelectCmd + 'E.nombre, E.direccion, E.localidad, '
cSelectCmd = cSelectCmd + 'E.tele1, E.tele2, E.tele3 '
cSelectCmd = cSelectCmd + 'FROM Expr_cli EC, Expresos E'
cSelectCmd = cSelectCmd + 'WHERE EC.expresoid = E.expresoid '
cSelectCmd = cSelectCmd + 'AND EC.expr_cliid = 0'
 
Saludos.Sebastian E. Garcia


From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: [gufa] CursoradapterDate: Wed, 14 
Mar 2007 14:42:57 -0300



Asi anda barbaro
 

cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '
cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '
cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2 '
cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '
cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '
cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'
 
Asi se va al diablo
cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '
cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '
cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2, Expresos.tele3 '
cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '
cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '
cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'
 
La diferencia esta en que este ultimo string tiene un campo mas, 
 
Expresos.tele3
 
Y cuando intento asignar ese campo a la propiedad SelectCmd tira error
 
thisform.MyCursorAdapter.SelectCmd = cSelectCmd
 
chau, se va al Catch to.
 
 
 

- Original Message - 
From: PabloC 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 2:06 PM
Subject: [gufa] Cursoradapter

Hernan, me podes pasar las lineas de codigo de como pones esos 200 y pico de 
caracteres
 
SaludosPabloC

- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 1:10 PM
Subject: [gufa] Cursoradapter

vfp9 sp1, es decir con todos los chiches.
Sabes que leyendo algo de MarkMcCassland, que hizo un builder para manejo de 
cursoradapters, el decia exactamente lo mismo que vos. El problema que tengo es 
que parece que a mi eso no me toca ;-(
 

*!* There was a known issue with a limitation in the Property sheet
*!* which only allowed the display of a maximum of 255 characters.
*!* This was particularly annoying for properties like CursorSchema
*!* because without information in the CursorSchema property, you
*!* could not drag fields from the cursor and drop them onto a form.
*!* This limitation of the Property Sheet NO LONGER EXISTS.
Hernan
 
 

- Original Message - 
From: PabloC 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 12:53 PM
Subject: [gufa] Cursoradapter

Hernan conque version de VFP lo estas probando, tengo entendido que eso era una 
limitacion de la primer version del cursoradapter
SaludosPabloC

- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 11:50 AM
Subject: [gufa] Cursoradapter
No hay caso, usando lo que sugeris para evitar caracteres extraños y otras 
yerbas tampoco. En cuanto llego a la linea donde le asigno la variable a la 
propiedad tira error. En ese momento el string tiene 269 caracteres, si le saco 
un campo me queda de 254 caracteres y ahi anda fenomeno.Esto es una pesadilla. 
Alguien NO tiene este problema?, me encantaria saber que tiene solucion aunque 
yo no la conozca (aun)Hernan- Original Message - From: Martín R. 
Comparetto [EMAIL PROTECTED]To: gufa List Member gufa@mug.org.arSent: 
Wednesday, March 14, 2007 11:08 AMSubject: [gufa] CursoradapterFijate que no te 
quede ningún salto de línea, o algún carácter extraño deesos.Sino, podes 
hacer:cUpdateFieldList = .cUpdateFieldList = cUpdateFieldList + 
.cUpdateFieldList = cUpdateFieldList + .(todos los que necesites)Y 
así, la cadena te va a permitir mas de 254 caracteres.Un abrazo,Martín R. 
[EMAIL PROTECTED](0341) 425-9808www.newdev.com.ar-Mensaje original-De: 
gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Hernán BarandaEnviado 
el: Miércoles, 14 de Marzo de 2007 11:03 a.m.Para: gufa List MemberAsunto: 
[gufa] CursoradapterHola MartinSabes que haciendo el UpdatableFieldList con 
Text ... EndText tambien metiro error? . No se bien que hacer porque de las 2 
maneras tira error.Seguramente es mejor con Text ... EndText, no se porque pero 
si todo elmundo lo hace debe ser asi. Pero esa tambien falla.SaludosHernan- 
Original Message -From: Martín R. Comparetto [EMAIL PROTECTED]To: gufa 
List Member gufa@mug.org.arSent: Wednesday, March 14, 2007 10:52 AMSubject: 
[gufa] CursoradapterHernan:Podes hacer:TEXT TO cSql NOSHOW PRETEXT 7SELECT 
...ENDTEXTY después asignas a la propiedad que corresponda la variable 
cSqlAbrazo,Martín R. [EMAIL PROTECTED](0341) 
425

[gufa] Cursoradapter

2007-03-14 Por tema PabloC
Hernan debo estar muy fisurado pero no veo la diferencia entre lo de arriba y 
lo de abajo, que campo de mas??
Por otro lado, aunque en VFP9 deberia funcionar porque no evitas apuntar a las 
bases siempre que no tengas campos con el mismo nombre y dejas asi
 
cSelectCmd = 'SELECT expr_cliid, clienteid, Expr_cli.expresoid, '

cSelectCmd = cSelectCmd + 'nombre, direccion, localidad, '

cSelectCmd = cSelectCmd + 'tele1, tele2 '

cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'



Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 2:42 PM
  Subject: [gufa] Cursoradapter


  Asi anda barbaro

  cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '

  cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '

  cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2 '

  cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

  cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

  cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'



  Asi se va al diablo

  cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '

  cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '

  cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2, Expresos.tele3 '

  cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

  cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

  cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'


  La diferencia esta en que este ultimo string tiene un campo mas, 

  Expresos.tele3

  Y cuando intento asignar ese campo a la propiedad SelectCmd tira error

  thisform.MyCursorAdapter.SelectCmd = cSelectCmd

  chau, se va al Catch to.



- Original Message - 
From: PabloC 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 2:06 PM
Subject: [gufa] Cursoradapter


Hernan, me podes pasar las lineas de codigo de como pones esos 200 y pico 
de caracteres


Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 1:10 PM
  Subject: [gufa] Cursoradapter


  vfp9 sp1, es decir con todos los chiches.
  Sabes que leyendo algo de MarkMcCassland, que hizo un builder para manejo 
de cursoradapters, el decia exactamente lo mismo que vos. El problema que tengo 
es que parece que a mi eso no me toca ;-(

  *!* There was a known issue with a limitation in the Property sheet

  *!* which only allowed the display of a maximum of 255 characters.

  *!* This was particularly annoying for properties like CursorSchema

  *!* because without information in the CursorSchema property, you

  *!* could not drag fields from the cursor and drop them onto a form.

  *!* This limitation of the Property Sheet NO LONGER EXISTS.

  Hernan


- Original Message - 
From: PabloC 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 12:53 PM
Subject: [gufa] Cursoradapter


Hernan conque version de VFP lo estas probando, tengo entendido que eso 
era una limitacion de la primer version del cursoradapter

Saludos
PabloC
  - Original Message - 
  From: Hernán Baranda 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 11:50 AM
  Subject: [gufa] Cursoradapter


  No hay caso, usando lo que sugeris para evitar caracteres extraños y 
otras 
  yerbas tampoco. En cuanto llego a la linea donde le asigno la 
variable a la 
  propiedad tira error. En ese momento el string tiene 269 caracteres, 
si le 
  saco un campo me queda de 254 caracteres y ahi anda fenomeno.
  Esto es una pesadilla. Alguien NO tiene este problema?, me encantaria 
saber 
  que tiene solucion aunque yo no la conozca (aun)
  Hernan



  - Original Message - 
  From: Martín R. Comparetto [EMAIL PROTECTED]
  To: gufa List Member gufa@mug.org.ar
  Sent: Wednesday, March 14, 2007 11:08 AM
  Subject: [gufa] Cursoradapter


  Fijate que no te quede ningún salto de línea, o algún carácter 
extraño de
  esos.
  Sino, podes hacer:
  cUpdateFieldList = .
  cUpdateFieldList = cUpdateFieldList + .
  cUpdateFieldList = cUpdateFieldList + .
  (todos los que necesites)

  Y así, la cadena te va a permitir mas de 254 caracteres.

  Un abrazo,


  Martín R. Comparetto
  [EMAIL PROTECTED]
  (0341) 425-9808
  www.newdev.com.ar

  -Mensaje original-
  De: gufa@mug.org.ar [mailto

[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda
Tenes razooo. Claaaro, que gil, ni me acorde de esa.
No resuelve el problema grande pero, hasta que le encuentre la vuelta, sigo 
trabajando porque, lo que es ahora, estoy re-parado.
Gracias
Hernan
 

  - Original Message - 
  From: Sebastian Garcia 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 3:01 PM
  Subject: [gufa] Cursoradapter


  Si utilizas ALIAS para hacer la consulta mas corta no te funciona?
  Algo asi:
   
  cSelectCmd = 'SELECT EC.expr_cliid, EC.clienteid, EC.expresoid, '
  cSelectCmd = cSelectCmd + 'E.nombre, E.direccion, E.localidad, '
  cSelectCmd = cSelectCmd + 'E.tele1, E.tele2, E.tele3 '
  cSelectCmd = cSelectCmd + 'FROM Expr_cli EC, Expresos E'
  cSelectCmd = cSelectCmd + 'WHERE EC.expresoid = E.expresoid '
  cSelectCmd = cSelectCmd + 'AND EC.expr_cliid = 0'
   
  Saludos.

  Sebastian E. Garcia





From: [EMAIL PROTECTED]
To: gufa@mug.org.ar
Subject: [gufa] Cursoradapter
Date: Wed, 14 Mar 2007 14:42:57 -0300


Asi anda barbaro

cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '
cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '
cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2 '
cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '
cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '
cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'
 
Asi se va al diablo
cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '
cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '
cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2, Expresos.tele3 '
cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '
cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '
cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'


La diferencia esta en que este ultimo string tiene un campo mas, 

Expresos.tele3

Y cuando intento asignar ese campo a la propiedad SelectCmd tira error

thisform.MyCursorAdapter.SelectCmd = cSelectCmd

chau, se va al Catch to.



  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 2:06 PM
  Subject: [gufa] Cursoradapter


  Hernan, me podes pasar las lineas de codigo de como pones esos 200 y pico 
de caracteres


  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 1:10 PM
Subject: [gufa] Cursoradapter


vfp9 sp1, es decir con todos los chiches.
Sabes que leyendo algo de MarkMcCassland, que hizo un builder para 
manejo de cursoradapters, el decia exactamente lo mismo que vos. El problema 
que tengo es que parece que a mi eso no me toca ;-(

*!* There was a known issue with a limitation in the Property sheet
*!* which only allowed the display of a maximum of 255 characters.
*!* This was particularly annoying for properties like CursorSchema
*!* because without information in the CursorSchema property, you
*!* could not drag fields from the cursor and drop them onto a form.
*!* This limitation of the Property Sheet NO LONGER EXISTS.

Hernan


  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 12:53 PM
  Subject: [gufa] Cursoradapter


  Hernan conque version de VFP lo estas probando, tengo entendido que 
eso era una limitacion de la primer version del cursoradapter

  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 11:50 AM
Subject: [gufa] Cursoradapter


No hay caso, usando lo que sugeris para evitar caracteres extraños 
y otras 
yerbas tampoco. En cuanto llego a la linea donde le asigno la 
variable a la 
propiedad tira error. En ese momento el string tiene 269 
caracteres, si le 
saco un campo me queda de 254 caracteres y ahi anda fenomeno.
Esto es una pesadilla. Alguien NO tiene este problema?, me 
encantaria saber 
que tiene solucion aunque yo no la conozca (aun)
Hernan



- Original Message - 
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa@mug.org.ar
Sent: Wednesday, March 14, 2007 11:08 AM
Subject: [gufa] Cursoradapter


Fijate que no te quede ningún salto de línea, o algún carácter 
extraño de
esos.
Sino, podes hacer:
cUpdateFieldList

[gufa] Cursoradapter

2007-03-14 Por tema Hernán Baranda
Pablo
los mails tenes que leerlos a la mañana, a la tarde ya el cerebro no da  :-D

en el tercer renglon estaba esto, donde el campo de mas era Expresos.tele3 
cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2, Expresos.tele3 '

Otra, no se porque pero me gusta poner la base, pero, digo yo, podria haberme 
acordado de poner un alias con una sola letra, no?
Gracias
Hernan


  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 3:02 PM
  Subject: [gufa] Cursoradapter


  Hernan debo estar muy fisurado pero no veo la diferencia entre lo de arriba y 
lo de abajo, que campo de mas??
  Por otro lado, aunque en VFP9 deberia funcionar porque no evitas apuntar a 
las bases siempre que no tengas campos con el mismo nombre y dejas asi

  cSelectCmd = 'SELECT expr_cliid, clienteid, Expr_cli.expresoid, '

  cSelectCmd = cSelectCmd + 'nombre, direccion, localidad, '

  cSelectCmd = cSelectCmd + 'tele1, tele2 '

  cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

  cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

  cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'



  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 2:42 PM
Subject: [gufa] Cursoradapter


Asi anda barbaro

cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '

cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '

cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2 '

cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'



Asi se va al diablo

cSelectCmd = 'SELECT Expr_cli.expr_cliid, Expr_cli.clienteid, 
Expr_cli.expresoid, '

cSelectCmd = cSelectCmd + 'Expresos.nombre, Expresos.direccion, 
Expresos.localidad, '

cSelectCmd = cSelectCmd + 'Expresos.tele1, Expresos.tele2, Expresos.tele3 '

cSelectCmd = cSelectCmd + 'FROM Expr_cli, Expresos '

cSelectCmd = cSelectCmd + 'WHERE Expr_cli.expresoid = Expresos.expresoid '

cSelectCmd = cSelectCmd + 'AND Expr_cli.expr_cliid = 0'


La diferencia esta en que este ultimo string tiene un campo mas, 

Expresos.tele3

Y cuando intento asignar ese campo a la propiedad SelectCmd tira error

thisform.MyCursorAdapter.SelectCmd = cSelectCmd

chau, se va al Catch to.



  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 2:06 PM
  Subject: [gufa] Cursoradapter


  Hernan, me podes pasar las lineas de codigo de como pones esos 200 y pico 
de caracteres


  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 1:10 PM
Subject: [gufa] Cursoradapter


vfp9 sp1, es decir con todos los chiches.
Sabes que leyendo algo de MarkMcCassland, que hizo un builder para 
manejo de cursoradapters, el decia exactamente lo mismo que vos. El problema 
que tengo es que parece que a mi eso no me toca ;-(

*!* There was a known issue with a limitation in the Property sheet

*!* which only allowed the display of a maximum of 255 characters.

*!* This was particularly annoying for properties like CursorSchema

*!* because without information in the CursorSchema property, you

*!* could not drag fields from the cursor and drop them onto a form.

*!* This limitation of the Property Sheet NO LONGER EXISTS.

Hernan


  - Original Message - 
  From: PabloC 
  To: gufa List Member 
  Sent: Wednesday, March 14, 2007 12:53 PM
  Subject: [gufa] Cursoradapter


  Hernan conque version de VFP lo estas probando, tengo entendido que 
eso era una limitacion de la primer version del cursoradapter

  Saludos
  PabloC
- Original Message - 
From: Hernán Baranda 
To: gufa List Member 
Sent: Wednesday, March 14, 2007 11:50 AM
Subject: [gufa] Cursoradapter


No hay caso, usando lo que sugeris para evitar caracteres extraños 
y otras 
yerbas tampoco. En cuanto llego a la linea donde le asigno la 
variable a la 
propiedad tira error. En ese momento el string tiene 269 
caracteres, si le 
saco un campo me queda de 254 caracteres y ahi anda fenomeno.
Esto es una pesadilla. Alguien NO tiene este problema?, me 
encantaria saber 
que tiene solucion aunque yo no la conozca (aun)
Hernan



- Original Message - 
From: Martín R. Comparetto [EMAIL PROTECTED]
To: gufa List Member gufa

[gufa] CursorAdapter

2007-02-13 Por tema José Paez
Estimados Colegas

Les hago un pregunta...

? La actualización de los 50.000 o 190.000 registros es una tarea que hacen 
siempre ? o ? Es por unica vez?

No les convendra escribir un Store Procedure que haga la actualización masiva 
tomando los datos directamente desde el mismo servidor, evitando generar asi 
tanto trafico para crear los datos locales con el CursorAdapter.

En nuestra empresa trabajamos con 5 Servidores SQL Server con grandes Bases de 
Datos (del orden de 65 Gb.), y utilizamos VFP (todas las versiones) + accesos a 
datos (como vistas remotas, sql pass trough, ado, cursoradapter) y del lado del 
servidor vistas y store procedure.

Y la verdad es que nunca movemos tanta cantidad de registros a las terminales 
para luego actualizar los datos en Sql Server.

Me parece que deberian optimizar/mejorar la estrategia de actualización de 
datos.

Saludos

José Paez
Córdoba - Argentina









- Original Message - 
From: Sergio Suarez 
To: gufa List Member 
Sent: Monday, February 12, 2007 8:34 PM
Subject: [gufa] CursorAdapter


Yo estebe haciendo algunas prueba y de unos 190.000 registros y tardo unos 15 
minutos, es que el sql estaba en mi maquina, el problema puede estar en la red 
o en el servidor. Saludos

Sergio.




De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de R.Rodrigo
Enviado el: Lunes, 12 de Febrero de 2007 19:34
Para: gufa List Member
Asunto: [gufa] CursorAdapter


Amigos, gracias por vuestra ayuda.

Ya casi tengo resueltos mis problemas respecto a los CA

Una pregunta, es normal que para actualizar 50.000 registros usando CA contra 
SQL tarde +- 30 minutos ??

Solo actualizo dos campos de 6 caracteres cada uno


Un saludo 






--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007 
13:23



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007 
13:23



Visita www.tutopia.com y comienza a navegar más rápido en Internet. Tutopia es 
Internet para todos.  

[gufa] CursorAdapter

2007-02-13 Por tema Sergio Suarez


No es por algo espesifico. Saludos.

Sergio



On Mar Feb 13 16:16 , José Paez [EMAIL PROTECTED] sent:






Estimados Colegas

Les hago un pregunta...

Âż La actualizaciĂłn de los 50.000 o 190.000 registros es una tarea que hacen siempre ? o Âż Es por unica vez?

No les convendra escribir un Store Procedure que haga la actualizaciĂłn masiva tomando los datos directamente desde el mismo servidor, evitando generar asi tanto trafico para crear los datos locales con el CursorAdapter.

En nuestra empresa trabajamos con 5 Servidores SQL Server con grandes Bases de Datos (del orden de 65 Gb.), y utilizamos VFP (todas las versiones) + accesos a datos (como vistas remotas, sql pass trough, ado, cursoradapter) y del lado del servidor vistas y store procedure.

Y la verdad es que nunca movemos tanta cantidad de registros a las terminales para luego actualizar los datos en Sql Server.

Me parece que deberian optimizar/mejorar la estrategia de actualizaciĂłn de datos.

Saludos

José Paez
CĂłrdoba - Argentina









- Original Message - 
From: Sergio Suarez 
To: gufa List Member 
Sent: Monday, February 12, 2007 8:34 PM
Subject: [gufa] CursorAdapter


Yo estebe haciendo algunas prueba y de unos 190.000 registros y tardo unos 15 minutos, es que el sql estaba en mi maquina, el problema puede estar en la red o en el servidor. Saludos

Sergio.




De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de R.Rodrigo
Enviado el: Lunes, 12 de Febrero de 2007 19:34
Para: gufa List Member
Asunto: [gufa] CursorAdapter


Amigos, gracias por vuestra ayuda.

Ya casi tengo resueltos mis problemas respecto a los CA

Una pregunta, es normal que para actualizar 50.000 registros usando CA contra SQL tarde +- 30 minutos ??

Solo actualizo dos campos de 6 caracteres cada uno


Un saludo 






--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007 13:23



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007 13:23



Visita www.tutopia.com y comienza a navegar más rápido en Internet. Tutopia es Internet para todos. 

Visita www.tutopia.com 
y comienza a navegar ms rpido en Internet.Tutopia es Internet 
para todos. 




[gufa] CursorAdapter

2007-02-12 Por tema R.Rodrigo
Amigos, gracias por vuestra ayuda.
 
Ya casi tengo resueltos mis problemas respecto a los CA
 
Una pregunta, es normal que para actualizar 50.000 registros usando CA
contra SQL tarde +- 30 minutos ??
 
Solo actualizo dos campos de 6 caracteres cada uno
 
 
Un saludo 
 
 

[gufa] CursorAdapter

2007-02-12 Por tema Sergio Suarez
Yo estebe haciendo algunas prueba y de unos 190.000 registros y tardo unos
15 minutos, es que el sql estaba en mi maquina, el problema puede estar en
la red o en el servidor. Saludos
 
Sergio.

   _  

De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de R.Rodrigo
Enviado el: Lunes, 12 de Febrero de 2007 19:34
Para: gufa List Member
Asunto: [gufa] CursorAdapter



Amigos, gracias por vuestra ayuda.
 
Ya casi tengo resueltos mis problemas respecto a los CA
 
Una pregunta, es normal que para actualizar 50.000 registros usando CA
contra SQL tarde +- 30 minutos ??
 
Solo actualizo dos campos de 6 caracteres cada uno
 
 
Un saludo 
 
 




--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007
13:23



-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.441 / Virus Database: 268.17.37/682 - Release Date: 12/02/2007
13:23
 
__
Visita http://www.tutopia.com y comienza a navegar más rápido en Internet. 
Tutopia es Internet para todos.