FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ADO append con Uniqueidentifier en MSSQL
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Thu May 03, 2007 10:55 AM
Manualmente hago asi para agregar un registro con el campo ID del tipo uniqueidentifier: (B85E62C3-DC56-40C0-852A-49F759AC68FB)

INSERT INTO articoli
  (ID, Sub_ID, codice, descrizione)
  VALUES     (NEWID(), 15, 'uno', 'due')



Alguien sabe como hacerlo con ADO?
FOR i := 1 TO 5000
    oRs:AddNew()
  //oRs:fields("ID"):VALUE := "NEWID()"
  oRs:fields("Sub_ID"):VALUE := i
  oRs:fields("codice"):value := "COD" + ALLTRIM( STR( i ) )
  oRs:Fields( "descrizione" ):Value := "Descrizione articolo " + ALLTRIM( STR( i ) )
    oRs:Update()
NEXT



Gracias
Pedro Gonzalez
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 08:14 AM
Fernando,


no puedo usar adordd porque no compila con la version de xharbour que uso yo, que no puedo cambiar porque uso FWH 2.7 que actualizar茅 apenas me lo permitan. De todos modos, no se si est谩 previsto, pero cuando el campo es del tipo uniqueidentifier hay que llamar a una funcion NewID() para crear el uniqueidentifier, que manualmente se hace "INSERT INTO articoli (ID, codice) VALUES (NewID(), 'codigo uno')"

Mi problema es que con ADO no podia hacerlo en automatico, de todos modos lo he resuelto en este modo:

  TRY
    oRs:AddNew()
  CATCH oError
    MsgStop(oError:Operation+CRLF+oError:Description,"Ado Connection")
    RETURN NIL   
  END TRY

  TRY
    oRs2 := oConnection:Execute("select newid()")
  CATCH oError
    MsgStop(oError:Operation+CRLF+oError:Description,"Ado Connection")
    RETURN NIL
  END TRY

  cNewID := oRs2:fields(0):value

  oRs:fields("ID"):VALUE := cNewID
  oRs:fields("Sub_ID"):VALUE := i
  oRs:fields("codice"):value := "COD" + ALLTRIM( STR( i ) )
  oRs:Fields( "descrizione" ):Value := "Descrizione articolo " + ALLTRIM( STR( i ) )
  oRs:Fields( "nota1" ):Value := REPLICATE("-=-", 800 )
  oRs:Fields( "nota2" ):Value := REPLICATE("-+-", 800 )
  oRs:Fields( "messaggio" ):Value := REPLICATE(".-.", 800 )

  TRY
    oRs2:close()
  CATCH
  END TRY



Seria bueno preveerlo que en ADORDD (si ya no lo hace) que cuando el campo sea de este tipo, lo genere automaticamente al hacer un append.

Saludos y gracias de tu tiempo.
Pedro Gonzalez
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 01:27 PM
Con ado puedes utilizar el metodo Execute del objeto connection.

oCnn:Execute("INSERT INTO articoli   (ID, Sub_ID, codice, descrizione)   VALUES     (NEWID(), 15, 'uno', 'due') ")
Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 04:13 PM

Biel,

justamente, como habia leido aqui que RF dec铆a que conviene usar oRs:update() en vez del comando INSERT (o de repente yo lo entend铆 mal), es que quer铆a saber como hacerlo con el recordset (:update() en vez que con :Execute()

gracias de tu tiempo.

Pedro Gonzalez
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 04:52 PM
Fernando Mancera wrote:Hola Pedro,

En el mensaje referente a ADORDD un usuario posteo un link con todo lo necesario para hacer funcionar en xHarbour. Recuerda compilar el codigo fuente de ADORDD con tu version de xHarbour.

http://rapidshare.com/files/29234022/adoRDD.rar.html


Fer,

compila tanto en xharbour como harbour.

por cierto, ser铆a conveniente incluir las modificaciones en el cvs de harbour.

saludos
William, Morales

Saludos



m茅xico.sureste
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 05:10 PM

William,

Vamos a subir las modificaciones al CVS de Harbour, lo que ocurre es que queremos hacer algunos cambios en el c贸digo para eliminar diferencias entre Harbour y xHarbour y que a ser posible, se use el mismo c贸digo con ambos

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
ADO append con Uniqueidentifier en MSSQL
Posted: Fri May 04, 2007 07:49 PM
Antonio Linares wrote:William,

Vamos a subir las modificaciones al CVS de Harbour, lo que ocurre es que queremos hacer algunos cambios en el c贸digo para eliminar diferencias entre Harbour y xHarbour y que a ser posible, se use el mismo c贸digo con ambos


ok. gracias
William, Morales

Saludos



m茅xico.sureste

Continue the discussion