¿Cuál es la diferencia entre el control kbmMemTable de Delphi y AdoQuery?
Acerca del uso de la tabla de memoria (kbmMemTable)
Instrucciones para el uso de la tabla de memoria 1. Usando tablas de memoria en Delphi 1.1 Pasos para crear una tabla de memoria en Delphi: 1. Cree una instancia de Ttable. 2. Establezca DataBaseName como un alias para un directorio o base de datos existente. 3.3.3. Especifique el valor de TableName. 4.4. Establezca la propiedad TableType para especificar el tipo de tabla de base de datos que se creará. (Si la propiedad es ttDefault, 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 un campo a la tabla de la base de datos: FieldName: cadena. FieldType: Tipo de campo: TfieldType. FieldSize: Tamaño de campo: generalmente solo se usa para tipos de cadenas y notas. Si el campo es NotNull: booleano. 6. Utilice el método TTable.IndexDefs.Add() para definir el índice. Add tiene tres parámetros: nombre de índice: cadena; nombre de campo de índice: cadena; tipo de índice: TIndexOptions 7: llame a CreateTable de TTable; Las tablas SQL se crean usando TQuery. El código es el siguiente: var MemTable:TTable; comience con MemTable.Create(Self) comience DatabaseName := 'c:\Temp'; TableName := 'Test'; Edad', ftInteger, 0, True); Add('Name', ftString, 25, False); Add('Weight', ftFloat, 0, False end; end; end ; 2. Breve descripción del uso de kbmMemTable 2.1 Pasos para la creación de kbmMemTable: 1. Cree una instancia de objeto kbmMemTable. 2. Llame al objeto kbmMemTable para crear una instancia. Llame al método Add del objeto kbmMemTable.FidldDefs para agregar campos a la tabla de la base de datos. 3.3. Utilice el método kbmMemTable.IndexDefs.Add() para definir el índice. Método agregar(). El método Agregar 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 comience con kbmMemTable1.FieldDefs comience Clear; Add('Period', ftInteger, 0, false); ftBytes, 20, falso); Agregar('Color', ftInteger, 0, falso); Agregar('AutoInc); ', ftAutoInc, 0, false); final con kbmMemTable1.IndexDefs. Comparación entre el uso de Delphi para crear una tabla de memoria; y Delphi 3.1 Maestro-esclavo La función de tabla kbmMemTable es la misma que otros TDataSets. Solo necesita configurar MasterSource y MasterField para completar la operación de la tabla maestro-esclavo. 3.2 Función SQL No se ha encontrado que kbmMemTable admita declaraciones SQL. Proporciona funciones de clasificación de campos y búsqueda de campos de clasificación. 3. La función kbmMemTable obtiene datos de otro TDataSet. El código es el siguiente LoadFromDataSet(Table1,[mtcpoStructure,mtcpoProperties]); de esta manera, kbmMemTable obtiene completamente todos los datos de un objeto DataSet. Funciones para guardar y cargar datos desde tablas de memoria TTable de Delphi no proporciona la función SaveToFile. kbmMemTable.SaveToBinaryFile('c:\test.bin', Opciones).kbmMemTable1.LoadFromBinaryFile('c:\test.bin') 2. Formato .csv.
kbmMemTable.SaveToFile('c:\test.csv', Opciones); kbmMemTable1.LoadFromFile('c:\test.csv', Opciones).kbmMemTable1.SaveToFile('c:\test.csv', Opciones). .csv') (formato de documento compatible con Excel) se abre de la siguiente manera: @@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@@ Periodo VALUE BytesCampo Color Fecha Memo AutoInc CALC 1 198 0 11/02/2001 Este es un memo%n2001-11-2 10:19:52 1 0 1-febrero 2 196 3 11/03/2001 Este es un memo%n2001-11-2 10 :19:52 2 1 2-Marzo El encabezado del archivo describe la estructura de campos de la tabla y el siguiente es el área de datos. AddFieldDef comienza DataType: = ftString; Tamaño: = 10; Nombre. = 'Field2'; // Crear índice IndexDefs en Field1.AddIndexDef comienza: = 'Field1'; /Crear tabla de memoriaCreateDataSet; end
"
" 》》》》》》》》》》》》》》》KbmMemTable es un control de tabla de memoria eficiente y potente. Como sugiere el nombre, la mayor ventaja de una tabla de memoria es su velocidad, y KbmMemTable no solo implementa perfectamente una alta eficiencia, sino que también admite índices, declaraciones SQL y otros usos avanzados en la última versión.
Su uso es súper simple y su uso básico es consistente con ClientDataSet. El siguiente es mi ejemplo de aplicación simple, que implementa las funciones básicas de agregar, eliminar, modificar y verificar:
Delphi?
Unidad Unidad1
Interfaz
Uso
Windows, Mensajes, SysUtils , Variantes, Clases, Gráficos, Controles, Formularios,
Diálogos, Cuadrículas, DBGrids, DB, StdCtrls, kbmMemTable
Tipos
TForm1 = clase(TForm)
Botón1: TButto
DataSource1: TDataSource
DBGrid1: TDBGrid
Botón2: TButto
Botón3: TButto
Botón4: TButto
Botón5.TButto
Botón6: TButto
Botón7: TButto
procedimiento Button1Click(Remitente: TObject)
procedimiento FormCreate(Sender. TObject)
procedimiento Button2Click(Remitente: TObject)
procedimiento Button4Click(Remitente: TObject) p>
procedimiento Button3Click(Sender . TObject)
fld_Value:=TStringField(FieldByName('Value'))
fld_Time:=TDateTimeField(FieldByName('Time'))
DisableControl
intenta
Primer
id := fld_Id.AsInteger
mientras no lo hagas p>
egi
if id > fld_Id.AsInteger
Siguiente
end
Locate('Id',id, [])
finalmente
EnableControl
fin
fin
fin
end
procedimiento TForm1.FormCreate(Sender:TObject)
egi
kbmMemTable1 := TkbmMemTable.Create(Self)
DataSource1. DataSet := kbmMemTable1
end.
end.
/index.html), no sé mucho al respecto, pero a juzgar por la introducción del sitio web , las funciones son relativamente limitadas y, por supuesto, se cobra. 4. Middle ADO System (blogs.com/xalion/), el autor Kim Madsen ha considerado plenamente la situación en China (un descuento del 25% en el precio de los programadores chinos es muy popular en las comunidades extranjeras y en muchas personas en China). la comunidad nacional puede estar interesada en kbmMemTable. No es desconocido, y KbmMW se basa en kbmMemTable, y KbmMW también está encapsulado en base a kbmMemTable.
Mi mayor reconocimiento de KbmMW es su arquitectura abierta: el control de comunicación es compatible con Indy (9 y 10), Synapse y DxSock, el control de la base de datos es compatible con ADO y Unidac y, por supuesto, existen otros controles de terceros de código abierto que admiten el cifrado. compresión, etc. Esto les da a los desarrolladores mucha libertad. También me conmovió mucho el entusiasmo del autor. Cada vez que encontraba un problema, hacía preguntas en StackOverFlow durante el día y Kim las respondía cuidadosamente por la noche. Por supuesto, hay muchos otros marcos excelentes (se dice que Dephi tiene la mayor cantidad de tres soluciones de marco entre todos los lenguajes de desarrollo. Por ejemplo, también se dice que el RTC (/) de Alemania es muy bueno. Aprendalo usted mismo Cuando me enteré de KbmMW, sentí que KbmMW era mi mejor opción.
En la próxima publicación del blog, no repetiré el tutorial (no puede exceder la altura del xalion maestro del horno), sino que me centraré más en compartir recursos, recordatorios de áreas propensas a errores y correcciones del original. errores.Resumo mi propia experiencia durante el desarrollo, con la esperanza de brindar ayuda a los amigos que estén interesados o lo necesiten.