1. El uso de adoconnection y sepita en Delphi
Adoconnection y Adotable están configurados para conectarse a la base de datos (uso SQLServer) en Delphi como se enseña en muchos libros, y no hay problema en la ejecución. Luego lo modifiqué, el propósito es modificar la base de datos de conexión sin modificar la propiedad de ConnectionString de la adoconección en Delphi, y el cuadro de diálogo de conexión no aparece.
Pasos de modificación: configure LoginPrompt en False, borre la propiedad de ConnectionString y agregue el código de conexión
Constr: = 'Provider = sqloledb.1; contraseña = 1982072019; ID de usuario = sa; catálogo inicial = storaganagement; data fuente = 10.16.99.175';
intentar
loginform.tempadoconnection.connectionstring: = construct;
loginform.tempadoconnection.connected: = true;
excepto
Messagedlg ('La conexión de la base de datos es incorrecta !! Por favor, verifique dataconfig.xml', mtconfirmation, [mbok], 0);
aplicación.merminar;
fin;
De esta manera, no hay problemas para conectarse a la base de datos cuando se ejecuta el programa. Pero el problema que ocurre es que en el control de dlephi se puede conectar a las tablas porque la propiedad ConnectionString no tiene valor. El error se informa como "Declaración de autorización no válida". Cómo usar Adoconnection y controles de anulación en Delphi, y evite el molesto cuadro de diálogo Conexión.
2. Use declaraciones SQL en Delphi.
Debido a que la instrucción SQL requiere cotizaciones dobles para asignar valores a las cadenas, mientras que las cadenas están encerradas en cotizaciones individuales en Delphi, encontré algunos problemas para usarlas. El resultado de mi experimento es que se usan dos citas individuales en Delphi en lugar de cotizaciones dobles en la declaración SQL. ¿No sé si es correcto?
Todavía no sé exactamente cómo usarlo.
3. Use Adoquery en Delphi 7.0 para devolver los resultados.
Informé un error después de usarlo, pero hay un programa de CD que lo usa de esta manera sin un error. Estoy usando parámetros ['xxxx'], y no puedo usar .string
4. Código original:
==================================================== =================== ==========================
Si caninsert entonces
Comenzar
con alldatamodule.aq_othermaterielout do
Comenzar
Cerca;
Sql.clear;
Sql.text: = 'insertar otros valores de Materielout (Materielid, cantidad) (: Insertid ,: InsertMount,)';
Parámetros [0] .value: = mymateriel;
Parámetros [1] .value: = myAMunt;
Ejecutsql;
fin;
con alldatamodule.aq_othermaterielstock do
Comenzar
Cerca;
Sql.clear;
Sql.text: = 'actualizar OTROMATERIELSTOCK set monta = monta-: updataAleunt Where MaterialId =: updateId';
Parámetros [0] .value: = myAMunt;
Parámetros [1] .value: = mymateriel;
Ejecutsql;
fin;
MaterialOutForm.close;
fin;
Después de este código
con alldatamodule.aq_othermaterielout do
Comenzar
Cerca;
Sql.clear;
Sql.text: = 'actualizar OTROMATERIELSTOCK set monta = monta-: updataAleunt Where MaterialId =: updateId';
Parámetros [0] .value: = myAMunt;
Parámetros [1] .value: = mymateriel;
Ejecutsql;
fin;
La función de mostrar automáticamente la lista de control que se puede usar no se puede usar con AllDatamodule, pero forzé el código detrás de él a seguir funcionando. ¿Qué está sucediendo?