Cómo utilizar tablas en memoria para procesar campos de blobs
1.1 Pasos para crear una tabla de memoria en Delphi:
1.
2. Establezca DataBaseName como un alias para un directorio o base de datos existente.
3. Especifique el valor de TableName.
4. Establezca la propiedad TableType para especificar el tipo de tabla de base de datos que se creará. (Si este atributo es ttDefault, significa que el tipo de base de datos corresponde a la extensión del valor especificado por TableName).
5. Llame al método Add del objeto TTable.FidldDefs para agregar campos a la tabla de la base de datos. Agregar tiene cuatro parámetros:
FieldName: string.
FieldType: TfieldType.
FieldSize: Word. Generalmente solo se usa para tipos de cadenas y notas. Cómo utilizar.
Si el campo es NotNull: valor booleano.
6. Utilice el método TTable.IndexDefs.Add() para definir el índice. Add tiene tres parámetros:
IndexName: cadena;
IndexFieldName: cadena
IndexType: llama a CreateTable de TTable. Este método funciona en tablas locales, tablas SQL creadas con TQuery.
El código es el siguiente:
var
MemTable: TTable
comenzar
con MemTable. Crear(Self ) hacer
comenzar
Nombre de la base de datos := 'c:\Temp ';
Nombre de la tabla := 'Prueba '; >TableType:
con FieldDefs
comenzar
Add( 'Edad ', ftInteger, 0, True
Add(); 'Nombre ' , ftString, 25, False);
Add( 'Peso ', ftFloat, 0, False
end; ( ' ' , 'Edad ', [ixPrimary, ixUnique]);
CrearTabla
end; Uso de kbmMemTable Breve descripción
2.1 Pasos para crear kbmMemTable:
1.
2. Llame al método Add del objeto kbmMemTable.FidldDefs para agregar campos a la tabla de la base de datos. El método de adición es el mismo que el de Delphi.
3. Utilice el método kbmMemTable.IndexDefs.Add() para definir el índice. El método de suma es el mismo que el de Delphi.
4. Llame a CreateTable de kbmMemTable.
Diferencia importante: porque kbmMemTable no requiere soporte BDE.
Por lo tanto, no especifique las propiedades DatabaseName, TableName y TableType.
El código es el siguiente:
con kbmMemTable1
empieza
con kbmMemTable1.FieldDefs
comenzar
comenzar
p>
Borrar
Agregar ('Período', ftInteger, 0, falso
); Agregar( 'VALUE', ftLargeInt, 0, false);
Add( 'BytesField', ftBytes, 20, false
Add( 'Color', ftInteger, 0, falso);
Agregar( 'Fecha', ftDate, 0, falso
Agregar( 'Memo', ftMemo, 0, falso
); Add( 'AutoInc', ftAutoInc, 0, false);
end
con kbmMemTable1.IndexDefs
comienza
Borrar ;
Agregar( 'Índice1 ', 'VALOR ', []);
fin
CrearTabla
fin; /p>
end.
3.1 Función de tabla maestro-esclavo
kbmMemTable se puede usar como otros TDataSets y las operaciones de tabla maestro-esclavo se pueden completar configurando MasterSource y MasterField.
3.2 Funcionalidad SQL
No se encontró que kbmMemTable sea compatible con SQL. Proporciona clasificación de campos y búsquedas en campos ordenados.
III. Función de kbmMemTable
Obtener datos de otros TDataSet.
El código es el siguiente:
LoadFromDataSet(Table1, [mtcpoStructure, mtcpoProperties]);
De esta manera, kbmMemTable puede obtener completamente todos los datos de un Objeto conjunto de datos.
Funciones para guardar y cargar datos desde tablas de memoria
TTable de Delphi no proporciona la función SaveToFile.
kbmMemTable proporciona la función SaveToFile y los archivos guardados tienen dos formatos:
Opciones: TkbmMemTable.SaveFlags
1.kbmMemTable.SaveToBinaryFile( 'c: \test .bin', Opciones).
kbmMemTable1.LoadFromBinaryFile( 'c:\test.bin ')
2.
kbmMemTable.SaveToFile( 'c:\test.csv ', Opciones);
kbmMemTable1.LoadFromFile( 'c:\test.csv ')
(Formatos de documentos compatibles con Excel) El método de apertura es el siguiente:
@@FILE VERSION@@ 200
@@TABLEDEF START@@
Period=Integer, 0, "Period " , " " , 10
VALUE=LargeInt, 0, "VALUE ", ", 15
BytesField=Bytes, 20, "BytesField ", "", 10
Color= Entero, 0, "Color ", "", 10
Fecha=Fecha, 0, "Fecha ", "", 10
Memo=Memo, 0 , "Memo ", " ", 10
AutoInc=AutoInc, 0, "AutoInc ", " ", 10
CALC=String, 20, "CALC ", " ", 20
@@TABLEDEF END@@
Período VALOR BytesCampo Color Fecha Memo AutoInc CALC
1 198 0 02/11/2001 Este es un memon2001-11-2 10: 19:52 1 0 enero-febrero
2 196 3 11/03/2001 Este es un memo n2001-11-2 10:19:52 2 1 febrero-marzo
Documento El encabezado describe la estructura de los campos de la tabla y debajo está el área de datos
.