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:
Code: Select all
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.