SetDatabaseBlob with two Databases
Posted: Thu Jul 11, 2024 10:04 pm
How to put back "DatabaseQuery" into a database (BLOB);
(DataBase out "SQL_OUD" and insterted into Database "SQL_TEST")
Kind regards,
Little_man
(DataBase out "SQL_OUD" and insterted into Database "SQL_TEST")
Code: Select all
OpenDatabase(SQL__TEST, SQL__TEST__Path_File, #Null$, #Null$, #PB_Database_SQLite)
;###############################################################################
OpenDatabase(SQL__OUD, SQL__OUD__Path_File, #Null$, #Null$, #PB_Database_SQLite)
DatabaseQuery(SQL__OUD, "SELECT * FROM Product_Description")
While NextDatabaseRow(SQL__OUD)
SQLRequest__TEST = "INSERT INTO Product_Description "
SQLRequest__TEST + "("
SQLRequest__TEST + "Nr, Description, Ingredients, Price, FAT_Rate, "
SQLRequest__TEST + "Product_Image_Name, Product_Image_Path, Product_Image_Photo, Product_Image_Size"
SQLRequest__TEST + ") VALUES ("
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 1) + "', " ;Nr - 1 TEXT.
SQLRequest__TEST + "'" + ReplaceString(GetDatabaseString(SQL__OUD, 2), "'", "|") + "', " ;Description - 2 TEXT.
SQLRequest__TEST + "'" + ReplaceString(GetDatabaseString(SQL__OUD, 3), "'", "|") + "', " ;Ingredients - 3 TEXT.
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 4) + "', " ;Price - 4 TEXT.
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 5) + "', " ;FAT_Rate - 5 TEXT.
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 6) + "', " ;Product_Image_Name - 6 TEXT.
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 7) + "', " ;Product_Image_Path - 7 TEXT.
If GetDatabaseString(SQL__OUD, 8) <> #Null$
*Buffer = AllocateMemory(DatabaseColumnSize(SQL__OUD, 8), #PB_Memory_NoClear)
If *Buffer
If GetDatabaseBlob(SQL__OUD, 8, *Buffer, MemorySize(*Buffer))
Line$ = Base64Encoder(*Buffer, MemorySize(*Buffer))
;Base64Decoder(Input$, *OutputBuffer, OutputSize)
;How to put back into a database ??????
;=======================================
SQLRequest__TEST + "'" + Line$ + "', " ;Product_Image_Photo - 8 BLOB.
SQLRequest__TEST + "'" + GetDatabaseString(SQL__OUD, 9) + "') " ;Product_Image_Photo - 9 INTEGER.
EndIf
FreeMemory(*Buffer)
EndIf
Else
SQLRequest__TEST + "'" + "" + "', " ;Product_Image_Photo - 8 BLOB.
SQLRequest__TEST + "'" + "" + "') " ;Product_Image_Photo - 9 INTEGER.
EndIf
DatabaseUpdate(SQL__TEST, SQLRequest__TEST)
Wend
FinishDatabaseQuery(SQL__OUD)
FinishDatabaseQuery(SQL__TEST)
CloseDatabase(SQL__OUD)
CloseDatabase(SQL__TEST)
;###############################################################################
Little_man