Page 2 of 2
Re: Cómo Insertar registros a na tabla?
Posted: Tue Feb 04, 2025 12:50 am
by Armando
Mr. Rao:
It is a great solution, but what if the user wants to insert multiple records, let's say 6 records at a time ?
Thanks a lot, Best regards
Re: Cómo Insertar registros a na tabla?
Posted: Tue Feb 04, 2025 3:46 pm
by nageswaragunupudi
Code: Select all | Expand
#include "fivewin.ch"
#include "adodef.ch"
//----------------------------------------------------------------------------//
function Main()
local oCn, oRs
local aInsert
oCn := Fw_OpenAdoConnection( "MYSQL,209.250.245.152,fwh,fwhuser,FiveTech@2022", .t. )
oRs := CreateTableFruits( oCn )
// Right-click to insert new fruits
aInsert := { "APPLES", "APRICOT", "MELON", "DATES" }
XBROWSER oRs TITLE "FRUITS" SETUP ( ;
oBrw:bRClicked := { |r,c,f,o| InsertFruits( oRs, aInsert ), o:Refresh() } )
oRs:Close()
oCn:Close()
return nil
//----------------------------------------------------------------------------//
function CreateTableFruits( oCn )
local oRs, v
oCn:Execute( "DROP TABLE IF EXISTS fruits" )
FWAdoCreateTable( "fruits", { { "fruit", "C", 15, 0 } }, oCn )
oRs := FW_OpenRecordSet( oCn, "fruits" )
oRs:Sort := "id"
for each v in { "Manzana", "Pera", "Naranja", "Mandarina", "Mango", "Banana", "Papaya", "Grape", "Guva", "Durian" }
oRs:AddNew( "fruit", v )
next
return oRs
//----------------------------------------------------------------------------//
function InsertFruits( oRs, aFruits )
local oCn := oRs:ActiveConnection
local nSave := oRs:AbsolutePosition
local nId, aList, aRows, cSql
CursorWait()
aList := {}
AEval( aFruits, { |c| AAdd( aList, { nil, c } ) } )
aRows := RsGetRows( oRs )
AEval( aRows, { |a,i| AAdd( aList, { nil, a[ 2 ] } ), ;
aList[ i, 1 ] := a[ 1 ] } )
cSql := SQL INSERT INTO fruits ( id, fruit ) ARRAY aList
cSql := "REPLACE" + SubStr( cSql, 7 )
oCn:Execute( cSql )
// done
oRs:Requery()
oRs:MoveLast()
nId := oRs:Fields( "id" ):Value
oCn:Execute( "ALTER TABLE fruits AUTO_INCREMENT = " + LTrim( Str( nID + 1 ) ) )
oRs:AbsolutePosition := nSave
CursorArrow()
return nil
//----------------------------------------------------------------------------//
Re: Cómo Insertar registros a na tabla?
Posted: Tue Feb 04, 2025 3:54 pm
by Armando
MR. Rao:
Excelent !.
Thank you
With Best regards