<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000066">
<font size="-1"><font face="Verdana">Tengo un Campo Autoincremental
llave Primaria definido en una tabla de Sql <br>
<br>
Â[Row_ID] int IDENTITY(1, 1) NOT NULL<br>
<br>
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la
tabla.<br>
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta
que SQL se queja por el Campo ROW_ID, como hacer para evitar que los
campos Autoincremental <big>NO</big> se incluyan dentro del grabado o
que el metodo Save() lo ignore ?<br>
<br>
En Mysql no existe este problema si le mando al campo ROW_ID el valor
cero lo ignora y graba correctamente el numero siguiente disponible.<br>
<br>
<br>
</font></font>
<div class="moz-signature">-- <br>
<meta http-equiv="CONTENT-TYPE" content="text/html; ">
<title>Josà David Angulo</title>
<meta name="GENERATOR" content="OpenOffice.org 2.0 (Win32)">
<meta name="CREATED" content="20061023;14550935">
<meta name="CHANGEDBY" content="Jose Angulo">
<meta name="CHANGED" content="20061023;14593800">
<meta name="ProgId" content="Word.Document">
<meta name="Originator" content="Microsoft Word 9">
<style>
<!--
P { color: #000000 }
-->
</style>
<p style="margin-bottom: 0cm;"><font size="2"><span
style="background: transparent none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b><font
face="Century Gothic"><font color="#000080">JosÃ
David Angulo.</font></font></b></span><font face="Arial"><font
color="#0000ff"><br>
</font></font></font><font face="Arial"><font color="#0000ff"><b><font
style="font-size: 11pt;" size="2">A<span lang="en-GB">uditorÃa
y Sistemas Ltda. </span></font></b><br>
<font style="font-size: 8pt;" size="1">Tel.</font></font></font><font
size="1"><font face="Century Gothic"><font color="#808080">(57)
5- 6643022 – 6644555</font></font></font></p>
<p style="margin-bottom: 0cm;"><font size="1"><font
face="Century Gothic"><font color="#808080">Cartagena - Colombia</font></font></font><br>
<a href="mailto:Gerencia@microexpressltda.com"><font
style="font-size: 9pt;" size="2">jose.angulo@auditoriaysistemas.com</font></a></p>
<p style="margin-bottom: 0cm;"><br>
</p>
</div>
</body>
</html>
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Campo Autoincremental en Sql
Campo Autoincremental en Sql
Jose David Angulo Urzola
Auditoria y Sistemas Ltda.
Cartagena-Colombia
Auditoria y Sistemas Ltda.
Cartagena-Colombia
- ignacio
- Site Admin
- Mensajes: 9246
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Campo Autoincremental en Sql
José David AnguloJosé David,
Prueba con oDataField:OnSetValue := {|| NIL }
Saludos
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"José David Angulo" <gerencia@microexpressltda.com> escribió en el mensaje news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Tengo un Campo Autoincremental llave Primaria definido en una tabla de Sql
[Row_ID] int IDENTITY(1, 1) NOT NULL
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la tabla.
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta que SQL se queja por el Campo ROW_ID, como hacer para evitar que los campos Autoincremental NO se incluyan dentro del grabado o que el metodo Save() lo ignore ?
En Mysql no existe este problema si le mando al campo ROW_ID el valor cero lo ignora y graba correctamente el numero siguiente disponible.
--
José David Angulo.
Auditoría y Sistemas Ltda.
Tel.(57) 5- 6643022 - 6644555
Cartagena - Colombia
jose.angulo@auditoriaysistemas.com
--
Prueba con oDataField:OnSetValue := {|| NIL }
Saludos
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"José David Angulo" <gerencia@microexpressltda.com> escribió en el mensaje news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Tengo un Campo Autoincremental llave Primaria definido en una tabla de Sql
[Row_ID] int IDENTITY(1, 1) NOT NULL
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la tabla.
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta que SQL se queja por el Campo ROW_ID, como hacer para evitar que los campos Autoincremental NO se incluyan dentro del grabado o que el metodo Save() lo ignore ?
En Mysql no existe este problema si le mando al campo ROW_ID el valor cero lo ignora y graba correctamente el numero siguiente disponible.
--
José David Angulo.
Auditoría y Sistemas Ltda.
Tel.(57) 5- 6643022 - 6644555
Cartagena - Colombia
jose.angulo@auditoriaysistemas.com
--
- ignacio
- Site Admin
- Mensajes: 9246
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Campo Autoincremental en Sql
José David AnguloJosé David,
Me temo que no va a funcionar. Hay que cambiar lo siguiente en la clase TDataSet.
//---------------------------------------------------------- ----------------
METHOD SaveFrom( oData ) CLASS XDataSet
LOCAL oTargetField, oSourceField
LOCAL cField
LOCAL nFor, nlen
IF oData:IsKindOf( "TDataSet" )
nLen := Len( oData:aFields )
FOR nFor := 1 TO nLen
oSourceField := oData:aFields[ nFor ]
oTargetField := ::oFieldByName( oSourceField:cName )
IF oTargetField != Nil
oTargetField:VarPut( oSourceField:FieldGet() )
>>>>> oTargetField:SetValue( oSourceField:FieldGet() )
ENDIF
NEXT
ELSE // oRecord
nLen := oData:Len()
FOR nFor := 1 TO nLen
cField := oData:GetName( nFor )
oTargetField := ::oFieldByName( cField )
IF oTargetField != Nil
oTargetField:VarPut( oData:GetValue( nFor ) )
>>>>> oTargetField:SetValuet( oData:GetValue( nFor ) )
ENDIF
NEXT
ENDIF
RETURN Nil
Además es mucho más correcto definir así el evento:
oDataField:OnSetValue := {| Value | Value }
Espero que te funcione.
Un saludo
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:48ee8fc6$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
José David,
Prueba con oDataField:OnSetValue := {|| NIL }
Saludos
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"José David Angulo" <gerencia@microexpressltda.com> escribió en el mensaje news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Tengo un Campo Autoincremental llave Primaria definido en una tabla de Sql
[Row_ID] int IDENTITY(1, 1) NOT NULL
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la tabla.
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta que SQL se queja por el Campo ROW_ID, como hacer para evitar que los campos Autoincremental NO se incluyan dentro del grabado o que el metodo Save() lo ignore ?
En Mysql no existe este problema si le mando al campo ROW_ID el valor cero lo ignora y graba correctamente el numero siguiente disponible.
--
José David Angulo.
Auditoría y Sistemas Ltda.
Tel.(57) 5- 6643022 - 6644555
Cartagena - Colombia
jose.angulo@auditoriaysistemas.com
--
Me temo que no va a funcionar. Hay que cambiar lo siguiente en la clase TDataSet.
//---------------------------------------------------------- ----------------
METHOD SaveFrom( oData ) CLASS XDataSet
LOCAL oTargetField, oSourceField
LOCAL cField
LOCAL nFor, nlen
IF oData:IsKindOf( "TDataSet" )
nLen := Len( oData:aFields )
FOR nFor := 1 TO nLen
oSourceField := oData:aFields[ nFor ]
oTargetField := ::oFieldByName( oSourceField:cName )
IF oTargetField != Nil
oTargetField:VarPut( oSourceField:FieldGet() )
>>>>> oTargetField:SetValue( oSourceField:FieldGet() )
ENDIF
NEXT
ELSE // oRecord
nLen := oData:Len()
FOR nFor := 1 TO nLen
cField := oData:GetName( nFor )
oTargetField := ::oFieldByName( cField )
IF oTargetField != Nil
oTargetField:VarPut( oData:GetValue( nFor ) )
>>>>> oTargetField:SetValuet( oData:GetValue( nFor ) )
ENDIF
NEXT
ENDIF
RETURN Nil
Además es mucho más correcto definir así el evento:
oDataField:OnSetValue := {| Value | Value }
Espero que te funcione.
Un saludo
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje news:48ee8fc6$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
José David,
Prueba con oDataField:OnSetValue := {|| NIL }
Saludos
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"José David Angulo" <gerencia@microexpressltda.com> escribió en el mensaje news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Tengo un Campo Autoincremental llave Primaria definido en una tabla de Sql
[Row_ID] int IDENTITY(1, 1) NOT NULL
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la tabla.
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta que SQL se queja por el Campo ROW_ID, como hacer para evitar que los campos Autoincremental NO se incluyan dentro del grabado o que el metodo Save() lo ignore ?
En Mysql no existe este problema si le mando al campo ROW_ID el valor cero lo ignora y graba correctamente el numero siguiente disponible.
--
José David Angulo.
Auditoría y Sistemas Ltda.
Tel.(57) 5- 6643022 - 6644555
Cartagena - Colombia
jose.angulo@auditoriaysistemas.com
--
Campo Autoincremental en Sql
Pruebo y te comento.
Mil gracias
--
*José David Angulo.*
*Auditoría y Sistemas Ltda. *
Cartagena - Colombia
Ignacio Ortiz de Zúñiga escribió:
> José David,
>
> Me temo que no va a funcionar. Hay que cambiar lo siguiente en la
> clase TDataSet.
>
> //---------------------------------------------------------- ----------------
>
> METHOD SaveFrom( oData ) CLASS XDataSet
>
> LOCAL oTargetField, oSourceField
> LOCAL cField
> LOCAL nFor, nlen
>
> IF oData:IsKindOf( "TDataSet" )
> nLen := Len( oData:aFields )
> FOR nFor := 1 TO nLen
> oSourceField := oData:aFields[ nFor ]
> oTargetField := ::oFieldByName( oSourceField:cName )
> IF oTargetField != Nil
> oTargetField:VarPut( oSourceField:FieldGet() )
> >>>>> oTargetField:SetValue( oSourceField:FieldGet() )
> ENDIF
> NEXT
> ELSE // oRecord
> nLen := oData:Len()
> FOR nFor := 1 TO nLen
> cField := oData:GetName( nFor )
> oTargetField := ::oFieldByName( cField )
> IF oTargetField != Nil
> oTargetField:VarPut( oData:GetValue( nFor ) )
> >>>>> oTargetField:SetValuet( oData:GetValue( nFor ) )
> ENDIF
> NEXT
> ENDIF
>
> RETURN Nil
>
> Además es mucho más correcto definir así el evento:
>
> oDataField:OnSetValue := {| Value | Value }
>
> Espero que te funcione.
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> [Soporte Xailer]
> [Xailer support]
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com
> <mailto:NoName@xailer.com>> escribió en el mensaje
> news:48ee8fc6$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José David,
>
> Prueba con oDataField:OnSetValue := {|| NIL }
>
> Saludos
>
> --
> Ignacio Ortiz de Zúñiga
> [Soporte Xailer]
> [Xailer support]
>
>
>
> "José David Angulo" <gerencia@microexpressltda.com
> <mailto:gerencia@microexpressltda.com>> escribió en el mensaje
> news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Tengo un Campo Autoincremental llave Primaria definido en una
> tabla de Sql
>
> [Row_ID] int IDENTITY(1, 1) NOT NULL
>
> Para facilidad manejo un TMemDataset exactamente igual al
> Dataset de la tabla.
> En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet),
> resulta que SQL se queja por el Campo ROW_ID, como hacer para
> evitar que los campos Autoincremental NO se incluyan dentro
> del grabado o que el metodo Save() lo ignore ?
>
> En Mysql no existe este problema si le mando al campo ROW_ID
> el valor cero lo ignora y graba correctamente el numero
> siguiente disponible.
>
>
> --
>
> *José David Angulo.*
> *Auditoría y Sistemas Ltda. *
> Tel.(57) 5- 6643022 -- 6644555
>
> Cartagena - Colombia
> jose.angulo@auditoriaysistemas.com
> <mailto:Gerencia@microexpressltda.com>
>
>
--
Mil gracias
--
*José David Angulo.*
*Auditoría y Sistemas Ltda. *
Cartagena - Colombia
Ignacio Ortiz de Zúñiga escribió:
> José David,
>
> Me temo que no va a funcionar. Hay que cambiar lo siguiente en la
> clase TDataSet.
>
> //---------------------------------------------------------- ----------------
>
> METHOD SaveFrom( oData ) CLASS XDataSet
>
> LOCAL oTargetField, oSourceField
> LOCAL cField
> LOCAL nFor, nlen
>
> IF oData:IsKindOf( "TDataSet" )
> nLen := Len( oData:aFields )
> FOR nFor := 1 TO nLen
> oSourceField := oData:aFields[ nFor ]
> oTargetField := ::oFieldByName( oSourceField:cName )
> IF oTargetField != Nil
> oTargetField:VarPut( oSourceField:FieldGet() )
> >>>>> oTargetField:SetValue( oSourceField:FieldGet() )
> ENDIF
> NEXT
> ELSE // oRecord
> nLen := oData:Len()
> FOR nFor := 1 TO nLen
> cField := oData:GetName( nFor )
> oTargetField := ::oFieldByName( cField )
> IF oTargetField != Nil
> oTargetField:VarPut( oData:GetValue( nFor ) )
> >>>>> oTargetField:SetValuet( oData:GetValue( nFor ) )
> ENDIF
> NEXT
> ENDIF
>
> RETURN Nil
>
> Además es mucho más correcto definir así el evento:
>
> oDataField:OnSetValue := {| Value | Value }
>
> Espero que te funcione.
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> [Soporte Xailer]
> [Xailer support]
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com
> <mailto:NoName@xailer.com>> escribió en el mensaje
> news:48ee8fc6$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> José David,
>
> Prueba con oDataField:OnSetValue := {|| NIL }
>
> Saludos
>
> --
> Ignacio Ortiz de Zúñiga
> [Soporte Xailer]
> [Xailer support]
>
>
>
> "José David Angulo" <gerencia@microexpressltda.com
> <mailto:gerencia@microexpressltda.com>> escribió en el mensaje
> news:48ee0cd5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Tengo un Campo Autoincremental llave Primaria definido en una
> tabla de Sql
>
> [Row_ID] int IDENTITY(1, 1) NOT NULL
>
> Para facilidad manejo un TMemDataset exactamente igual al
> Dataset de la tabla.
> En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet),
> resulta que SQL se queja por el Campo ROW_ID, como hacer para
> evitar que los campos Autoincremental NO se incluyan dentro
> del grabado o que el metodo Save() lo ignore ?
>
> En Mysql no existe este problema si le mando al campo ROW_ID
> el valor cero lo ignora y graba correctamente el numero
> siguiente disponible.
>
>
> --
>
> *José David Angulo.*
> *Auditoría y Sistemas Ltda. *
> Tel.(57) 5- 6643022 -- 6644555
>
> Cartagena - Colombia
> jose.angulo@auditoriaysistemas.com
> <mailto:Gerencia@microexpressltda.com>
>
>
--
Campo Autoincremental en Sql
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Ignacio,<br>
<br>
Agregue la modificaciÃn del MÃtodo Savefrom() pero me genera el error
siguiente<br>
<br>
ÂÂÂÂÂ Subsistema: BASE<br>
ÂCÃdigo de error: 1004<br>
ÂÂÂÂÂÂ ÂÂÂ Estado: .F.<br>
ÂÂÂÂ DescripciÃn: Scope Violation <PROTECTED><br>
ÂÂÂÂÂÂ OperaciÃn: SETVALUE<br>
ÂÂÂÂÂ Argumentos:Â [ 1] = Tipo: O Valor: <br>
ÂÂÂÂÂÂ ÂÂ Fichero: <br>
ÂCÃdigo error SO: 0<br>
<br>
<br>
<br>
Ignacio Ortiz de ZÃÃiga escribiÃ:
<blockquote cite="mid:48ee916f$1@ozsrv2.ozlan.local" type="cite">
<title>Josà David Angulo</title>
<meta http-equiv="Content-Type" content="text/html; ">
<meta content="MSHTML 6.00.6000.16705" name="GENERATOR">
<div><font color="#000000" face="Arial" size="2">Josà David, </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Me temo que no va a
funcionar. Hay que cambiar lo siguiente en la clase TDataSet. </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2"> //---------------------------------------------------------- ---------------- </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">METHOD SaveFrom(
oData ) CLASS XDataSet</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">ÂÂ LOCAL
oTargetField, oSourceField<br>
ÂÂ LOCAL cField<br>
ÂÂ LOCAL nFor, nlen</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">ÂÂ IF
oData:IsKindOf( "TDataSet" )<br>
ÂÂÂÂÂ nLen := Len( oData:aFields )<br>
ÂÂÂÂÂ FOR nFor := 1 TO nLen<br>
ÂÂÂÂÂÂ ÂÂ oSourceField := oData:aFields[ nFor ]<br>
ÂÂÂÂÂÂ ÂÂ oTargetField := ::oFieldByName( oSourceField:cName )<br>
ÂÂÂÂÂÂ ÂÂ IF oTargetField != Nil<br>
ÂÂÂÂÂÂ ÂÂÂÂÂ oTargetField:VarPut( oSourceField:FieldGet() )<br>
>>>>>ÂÂ ÂÂÂÂÂÂ ÂÂÂ oTargetField:SetValue(
oSourceField:FieldGet() )<br>
ÂÂÂÂÂÂ ÂÂ ENDIF<br>
ÂÂÂÂÂ NEXT<br>
ÂÂ ELSE // oRecord<br>
ÂÂÂÂÂ nLen := oData:Len()<br>
ÂÂÂÂÂ FOR nFor := 1 TO nLen<br>
ÂÂÂÂÂÂ ÂÂ cField := oData:GetName( nFor )<br>
ÂÂÂÂÂÂ ÂÂ oTargetField := ::oFieldByName( cField )<br>
ÂÂÂÂÂÂ ÂÂ IF oTargetField != Nil<br>
ÂÂÂÂÂÂ ÂÂÂÂÂ oTargetField:VarPut( oData:GetValue( nFor ) )<br>
>>>>>ÂÂ ÂÂÂÂÂÂ ÂÂÂ oTargetField:SetValuet( oData:GetValue(
nFor ) )<br>
ÂÂÂÂÂÂ ÂÂ ENDIF<br>
ÂÂÂÂÂ NEXT<br>
ÂÂ ENDIF</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">RETURN Nil</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">AdemÃs es mucho mÃs
correcto definir asà el evento:</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">
</font>
<div><font color="#000000" face="Arial" size="2"><font color="#000000"
face="Arial" size="2">oDataField:OnSetValue := {| Value |ÂValue }</font></font></div>
</div>
<div><font color="#000000" face="Arial" size="2">Â</font></div>
<div><font color="#000000" face="Arial" size="2">Espero que te
funcione.<br>
</font></div>
<div><font color="#000000" face="Arial" size="2">Un saludo</font></div>
<div>Â</div>
<div>-- <br>
Ignacio Ortiz de ZÃÃiga<br>
[Soporte Xailer]<br>
[Xailer support]</div>
<div>Â</div>
<div>Â</div>
<blockquote dir="ltr"
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Ignacio Ortiz de ZÃÃiga" <<a moz-do-not-send="true"
href="mailto:NoName@xailer.com">NoName@xailer.com</a>> escribià en
el mensaje <a moz-do-not-send="true"
href="news:48ee8fc6$1@ozsrv2.ozlan.local">news:48ee8fc6$1@ozsrv2.ozlan.local</a>...</div>
<div><font color="#000000" face="Arial" size="2">Josà David, </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Prueba con
oDataField:OnSetValue := {|| NIL }</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Saludos</font></div>
<div><br>
-- <br>
Ignacio Ortiz de ZÃÃiga<br>
[Soporte Xailer]<br>
[Xailer support]</div>
<div>Â</div>
<div>Â</div>
<blockquote dir="ltr"
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Josà David Angulo" <<a moz-do-not-send="true"
href="mailto:gerencia@microexpressltda.com">gerencia@microexpressltda.com</a>>
escribià en el mensaje <a moz-do-not-send="true"
href="news:48ee0cd5$1@ozsrv2.ozlan.local">news:48ee0cd5$1@ozsrv2.ozlan.local</a>...</div>
<font size="-1"><font face="Verdana">Tengo un Campo
Autoincremental llave Primaria definido en una tabla de Sql <br>
<br>
Â[Row_ID] int IDENTITY(1, 1) NOT NULL<br>
<br>
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la
tabla.<br>
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta
que SQL se queja por el Campo ROW_ID, como hacer para evitar que los
campos Autoincremental <big>NO</big> se incluyan dentro del grabado o
que el metodo Save() lo ignore ?<br>
<br>
En Mysql no existe este problema si le mando al campo ROW_ID el valor
cero lo ignora y graba correctamente el numero siguiente disponible.<br>
<br>
<br>
</font></font>
<div class="moz-signature">-- <br>
<meta content="OpenOffice.org 2.0 (Win32)" name="GENERATOR">
<meta content="20061023;14550935" name="CREATED">
<meta content="Jose Angulo" name="CHANGEDBY">
<meta content="20061023;14593800" name="CHANGED">
<meta content="Word.Document" name="ProgId">
<meta content="Microsoft Word 9" name="Originator">
<style>P {
COLOR: #000000
}
</style>
<p style="margin-bottom: 0cm;"><font size="2"><span
style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b><font
face="Century Gothic"><font color="#000080">Josà David Angulo.</font></font></b></span><font
face="Arial"><font color="#0000ff"><br>
</font></font></font><font face="Arial"><font color="#0000ff"><b><font
style="font-size: 11pt;" size="2">A<span lang="en-GB">uditorÃa y
Sistemas Ltda. </span></font></b><br>
<font style="font-size: 8pt;" size="1">Tel.</font></font></font><font
size="1"><font face="Century Gothic"><font color="#808080">(57) 5-
6643022 – 6644555</font></font></font></p>
<p style="margin-bottom: 0cm;"><font size="1"><font
face="Century Gothic"><font color="#808080">Cartagena - Colombia</font></font></font><br>
<a moz-do-not-send="true"
href="mailto:Gerencia@microexpressltda.com"><font
style="font-size: 9pt;" size="2">jose.angulo@auditoriaysistemas.com</font></a></p>
<p style="margin-bottom: 0cm;"><br>
</p>
</div>
</blockquote>
</blockquote>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<meta http-equiv="CONTENT-TYPE" content="text/html; ">
<title>Josà David Angulo</title>
<meta name="GENERATOR" content="OpenOffice.org 2.0 (Win32)">
<meta name="CREATED" content="20060220;11005750">
<meta name="CHANGED" content="20061028;16242395">
<meta name="ProgId" content="Word.Document">
<meta name="Originator" content="Microsoft Word 9">
<style>
<!--
P { color: #000000 }
A:link { color: #0000ff }
A:visited { color: #800080 }
-->
</style>
<p style="margin-bottom: 0cm;"><font size="2"><span
style="background: transparent none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b><font
face="Century Gothic"><font color="#000080">JosÃ
David Angulo.</font></font></b></span><font face="Arial"><font
color="#0000ff"><br>
</font></font></font><font face="Arial"><font color="#0000ff"><b><font
style="font-size: 11pt;" size="2">A<span lang="en-GB">uditorÃa
y Sistemas Ltda. </span></font></b></font></font>
</p>
<p style="margin-bottom: 0cm;"><font style="font-size: 8pt;" size="1"><font
face="Arial"><font color="#0000ff">Cartagena
- Colombia</font></font></font></p>
</div>
</body>
</html>
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Ignacio,<br>
<br>
Agregue la modificaciÃn del MÃtodo Savefrom() pero me genera el error
siguiente<br>
<br>
ÂÂÂÂÂ Subsistema: BASE<br>
ÂCÃdigo de error: 1004<br>
ÂÂÂÂÂÂ ÂÂÂ Estado: .F.<br>
ÂÂÂÂ DescripciÃn: Scope Violation <PROTECTED><br>
ÂÂÂÂÂÂ OperaciÃn: SETVALUE<br>
ÂÂÂÂÂ Argumentos:Â [ 1] = Tipo: O Valor: <br>
ÂÂÂÂÂÂ ÂÂ Fichero: <br>
ÂCÃdigo error SO: 0<br>
<br>
<br>
<br>
Ignacio Ortiz de ZÃÃiga escribiÃ:
<blockquote cite="mid:48ee916f$1@ozsrv2.ozlan.local" type="cite">
<title>Josà David Angulo</title>
<meta http-equiv="Content-Type" content="text/html; ">
<meta content="MSHTML 6.00.6000.16705" name="GENERATOR">
<div><font color="#000000" face="Arial" size="2">Josà David, </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Me temo que no va a
funcionar. Hay que cambiar lo siguiente en la clase TDataSet. </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2"> //---------------------------------------------------------- ---------------- </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">METHOD SaveFrom(
oData ) CLASS XDataSet</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">ÂÂ LOCAL
oTargetField, oSourceField<br>
ÂÂ LOCAL cField<br>
ÂÂ LOCAL nFor, nlen</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">ÂÂ IF
oData:IsKindOf( "TDataSet" )<br>
ÂÂÂÂÂ nLen := Len( oData:aFields )<br>
ÂÂÂÂÂ FOR nFor := 1 TO nLen<br>
ÂÂÂÂÂÂ ÂÂ oSourceField := oData:aFields[ nFor ]<br>
ÂÂÂÂÂÂ ÂÂ oTargetField := ::oFieldByName( oSourceField:cName )<br>
ÂÂÂÂÂÂ ÂÂ IF oTargetField != Nil<br>
ÂÂÂÂÂÂ ÂÂÂÂÂ oTargetField:VarPut( oSourceField:FieldGet() )<br>
>>>>>ÂÂ ÂÂÂÂÂÂ ÂÂÂ oTargetField:SetValue(
oSourceField:FieldGet() )<br>
ÂÂÂÂÂÂ ÂÂ ENDIF<br>
ÂÂÂÂÂ NEXT<br>
ÂÂ ELSE // oRecord<br>
ÂÂÂÂÂ nLen := oData:Len()<br>
ÂÂÂÂÂ FOR nFor := 1 TO nLen<br>
ÂÂÂÂÂÂ ÂÂ cField := oData:GetName( nFor )<br>
ÂÂÂÂÂÂ ÂÂ oTargetField := ::oFieldByName( cField )<br>
ÂÂÂÂÂÂ ÂÂ IF oTargetField != Nil<br>
ÂÂÂÂÂÂ ÂÂÂÂÂ oTargetField:VarPut( oData:GetValue( nFor ) )<br>
>>>>>ÂÂ ÂÂÂÂÂÂ ÂÂÂ oTargetField:SetValuet( oData:GetValue(
nFor ) )<br>
ÂÂÂÂÂÂ ÂÂ ENDIF<br>
ÂÂÂÂÂ NEXT<br>
ÂÂ ENDIF</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">RETURN Nil</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">AdemÃs es mucho mÃs
correcto definir asà el evento:</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">
</font>
<div><font color="#000000" face="Arial" size="2"><font color="#000000"
face="Arial" size="2">oDataField:OnSetValue := {| Value |ÂValue }</font></font></div>
</div>
<div><font color="#000000" face="Arial" size="2">Â</font></div>
<div><font color="#000000" face="Arial" size="2">Espero que te
funcione.<br>
</font></div>
<div><font color="#000000" face="Arial" size="2">Un saludo</font></div>
<div>Â</div>
<div>-- <br>
Ignacio Ortiz de ZÃÃiga<br>
[Soporte Xailer]<br>
[Xailer support]</div>
<div>Â</div>
<div>Â</div>
<blockquote dir="ltr"
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Ignacio Ortiz de ZÃÃiga" <<a moz-do-not-send="true"
href="mailto:NoName@xailer.com">NoName@xailer.com</a>> escribià en
el mensaje <a moz-do-not-send="true"
href="news:48ee8fc6$1@ozsrv2.ozlan.local">news:48ee8fc6$1@ozsrv2.ozlan.local</a>...</div>
<div><font color="#000000" face="Arial" size="2">Josà David, </font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Prueba con
oDataField:OnSetValue := {|| NIL }</font></div>
<div>Â</div>
<div><font color="#000000" face="Arial" size="2">Saludos</font></div>
<div><br>
-- <br>
Ignacio Ortiz de ZÃÃiga<br>
[Soporte Xailer]<br>
[Xailer support]</div>
<div>Â</div>
<div>Â</div>
<blockquote dir="ltr"
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;">
<div>"Josà David Angulo" <<a moz-do-not-send="true"
href="mailto:gerencia@microexpressltda.com">gerencia@microexpressltda.com</a>>
escribià en el mensaje <a moz-do-not-send="true"
href="news:48ee0cd5$1@ozsrv2.ozlan.local">news:48ee0cd5$1@ozsrv2.ozlan.local</a>...</div>
<font size="-1"><font face="Verdana">Tengo un Campo
Autoincremental llave Primaria definido en una tabla de Sql <br>
<br>
Â[Row_ID] int IDENTITY(1, 1) NOT NULL<br>
<br>
Para facilidad manejo un TMemDataset exactamente igual al Dataset de la
tabla.<br>
En el momento de Grabar uso el metodo SaveFrom(:oMemDataSet), resulta
que SQL se queja por el Campo ROW_ID, como hacer para evitar que los
campos Autoincremental <big>NO</big> se incluyan dentro del grabado o
que el metodo Save() lo ignore ?<br>
<br>
En Mysql no existe este problema si le mando al campo ROW_ID el valor
cero lo ignora y graba correctamente el numero siguiente disponible.<br>
<br>
<br>
</font></font>
<div class="moz-signature">-- <br>
<meta content="OpenOffice.org 2.0 (Win32)" name="GENERATOR">
<meta content="20061023;14550935" name="CREATED">
<meta content="Jose Angulo" name="CHANGEDBY">
<meta content="20061023;14593800" name="CHANGED">
<meta content="Word.Document" name="ProgId">
<meta content="Microsoft Word 9" name="Originator">
<style>P {
COLOR: #000000
}
</style>
<p style="margin-bottom: 0cm;"><font size="2"><span
style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b><font
face="Century Gothic"><font color="#000080">Josà David Angulo.</font></font></b></span><font
face="Arial"><font color="#0000ff"><br>
</font></font></font><font face="Arial"><font color="#0000ff"><b><font
style="font-size: 11pt;" size="2">A<span lang="en-GB">uditorÃa y
Sistemas Ltda. </span></font></b><br>
<font style="font-size: 8pt;" size="1">Tel.</font></font></font><font
size="1"><font face="Century Gothic"><font color="#808080">(57) 5-
6643022 – 6644555</font></font></font></p>
<p style="margin-bottom: 0cm;"><font size="1"><font
face="Century Gothic"><font color="#808080">Cartagena - Colombia</font></font></font><br>
<a moz-do-not-send="true"
href="mailto:Gerencia@microexpressltda.com"><font
style="font-size: 9pt;" size="2">jose.angulo@auditoriaysistemas.com</font></a></p>
<p style="margin-bottom: 0cm;"><br>
</p>
</div>
</blockquote>
</blockquote>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<meta http-equiv="CONTENT-TYPE" content="text/html; ">
<title>Josà David Angulo</title>
<meta name="GENERATOR" content="OpenOffice.org 2.0 (Win32)">
<meta name="CREATED" content="20060220;11005750">
<meta name="CHANGED" content="20061028;16242395">
<meta name="ProgId" content="Word.Document">
<meta name="Originator" content="Microsoft Word 9">
<style>
<!--
P { color: #000000 }
A:link { color: #0000ff }
A:visited { color: #800080 }
-->
</style>
<p style="margin-bottom: 0cm;"><font size="2"><span
style="background: transparent none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><b><font
face="Century Gothic"><font color="#000080">JosÃ
David Angulo.</font></font></b></span><font face="Arial"><font
color="#0000ff"><br>
</font></font></font><font face="Arial"><font color="#0000ff"><b><font
style="font-size: 11pt;" size="2">A<span lang="en-GB">uditorÃa
y Sistemas Ltda. </span></font></b></font></font>
</p>
<p style="margin-bottom: 0cm;"><font style="font-size: 8pt;" size="1"><font
face="Arial"><font color="#0000ff">Cartagena
- Colombia</font></font></font></p>
</div>
</body>
</html>