Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Cómo leer el resultado de la función mysql_fetch_row en MQL4 ?
Actualmente estoy desarrollando un script para trabajar con una base de datos MySQL para leer, insertar, borrar y modificar.
El script es grande, pero la esencia del trabajo con la base de datos será comprensible, creo, a partir de una función.
Sin embargo, en este ejemplo se devuelve el ID del registro de la tabla, pero no será un problema para rehacer, recuerdo y el texto y los números devueltos de la base de datos, todo funcionó.
hizo un pequeño experimento de investigación
He creado una tabla con dos campos
INT id; TEXTO usuario
hay dos filas en la tabla
id usuario
1 aaa
2 bbb
1. Al consultar "SELECT id FROM table", la función fetch_row devuelve (dirección)(dirección) 1 (dirección)(dirección) 2
2. La consulta "SELECT user FROM table", la función fetch_row devuelve (dirección) aaa (dirección) bbb
Generalmente, esto se puede manejar, la única pena es que devuelve en cadena
Si consulto dos campos "SELECT id, user FROM table", la función devuelve (dirección) 1 (dirección) (dirección) 2
4. Si intercambiamos los campos "SELECT user, id FROM table", la función devuelve (dirección) aaa (dirección) bbb
resulta que sólo el primer campo de la cadena es claramente visible y se añade otra dirección de 4 bytes.
hizo un pequeño experimento de investigación
creó una tabla con dos campos
INT id; TEXTO usuario
la tabla tiene dos filas
usuario de identificación
1 aaa
2 bbb
1. Al consultar "SELECT id FROM table" la función fetch_row devuelve (dirección)(dirección) 1 (dirección)(dirección) 2
2. Cuando se solicita "SELECT user FROM table" la función fetch_row devuelve (dirección) aaa (dirección) bbb
Generalmente se puede manejar, pero el retorno es en cadena
3. si la función devuelve dos campos "SELECT id, user FROM table", devuelve (dirección) 1 (dirección) 2
4. Si intercambiamos los campos "SELECT user, id FROM table", la función devuelve (dirección) aaa (dirección) bbb
resulta que sólo se ve explícitamente el primer campo de la cadena y se añade otra dirección de 4 bytes.
¿Cómo se introduce esto en el programa después?
Voy a escribir principalmente números de punto flotante y a leerlos.
Actualmente estoy desarrollando un script para trabajar con una base de datos MySQL para leer, insertar, borrar y modificar.
El script es grande, pero la esencia del trabajo con la base de datos será comprensible, creo, a partir de una función.
Es cierto que este ejemplo devuelve el ID de registro de la tabla, pero para rehacer ningún problema, recuerdo y el texto y los números devueltos de la base de datos, todo funcionó.
Este es un ejemplo interesante, pero no muestra cómo leer datos numéricos.
Básicamente, quiero utilizar una base con una tabla de tres columnas para sólo dos acciones:
1) Leer las dos primeras columnas (índice y la primera columna numérica)
A continuación, elija el número más relevante de la columna numérica dentro del programa MQ4
2) Lee del índice de ese número el número de la segunda columna.
¿Qué funciones debo utilizar para ello? ¿Y funcionan normalmente en la DLL especificada?
Este es un ejemplo interesante, pero no muestra cómo leer datos numéricos.
¿has escrito una línea de código para ver qué se devuelve y cómo?
HIDDEN ya dio una solución completa para leer un campo de la base de datos.
Si usted puede ayudar a escribir ansi a unicode convertidor para MKL5, el código de los cuales se da en el post anterior. Te enviaré el código de trabajo para MKL4, también te ayudará cuando escribas la clase para MKL5.
MQL5 tiene funciones para convertir unicode. Ver /es/docs/convert/chararraytostring y /es/docs/convert/stringtochararray
Declarar arrays uchar en lugar de cadenas en la importación de funciones.
En las funciones de importación, no declare cadenas, sino matrices de tipo uchar
El problema es, por desgracia, que estas cadenas se devuelven como resultado de una función, no como uno de sus & parámetros.
mysql_fetch_row devuelve un puntero a una matriz de cadenas - char**
--------
¿alguien sabe si hay alguna función del kernel de bajo nivel que pueda devolver una cadena char ** a partir de una matriz char?
(como strcpy, strcat...)
y de forma similar desde un array int* - ¿alguna función lib para obtener su elemento específico?
aunque la propia función no esté diseñada para esta operación directamente :)
Aplicación del código completo....
Volcado SQL de la base de datos
Resultado del trabajo