1. O uso de adoconnection e ADOTABLE em Delphi
A adoconnection e o ADOTABLE estão configurados para conectar -se ao banco de dados (eu uso o SQLServer) em Delphi, conforme ensinado em muitos livros, e não há problema em executar. Em seguida, modifiquei, o objetivo é modificar o banco de dados de conexão sem modificar a propriedade Connectionstring da adoconnecção em Delphi, e a caixa de diálogo de conexão não aparece.
Etapas de modificação: Defina o LoginPrompt como False, limpe a propriedade Connectionstring e adicione o código de conexão
construt: = 'provider = sqloledb.1; senha = 1982072019; ID do usuário = SA; catálogo inicial = storageManagement; fonte de dados = 10.16.99.175';
tentar
loginform.tempadoconnection.connectionstring: = construt;
loginform.tempadoconnection.Connected: = true;
exceto
Messagedlg ('A conexão do banco de dados está incorreta !! Por favor, verifique DataConfig.xml', MtConfirmation, [mBok], 0);
Application.Merminate;
fim;
Dessa forma, não há problema em se conectar ao banco de dados quando o programa é executado. Mas o problema que ocorre é que, no Dlephi, o controle adaptável não pode se conectar às tabelas porque a propriedade ConnectionString não tem valor. O erro é relatado como "declaração de autorização inválida". Como usar os controles adoconnection e adaptável no Delphi e evite a caixa de diálogo de conexão irritante.
2. Use declarações SQL em Delphi.
Como a instrução SQL requer cotações duplas para atribuir valores às strings, enquanto as strings são fechadas em citações únicas em Delphi, encontrei alguns problemas em usá -las. O resultado do meu experimento é que duas citações únicas são usadas em Delphi, em vez de cotações duplas na instrução SQL. Não sabe se está certo?
Ainda não sei exatamente como usá -lo.
3. Use o ADoquery no Delphi 7.0 para retornar os resultados.
Relatei um erro depois de usá -lo, mas há um programa de CD que o usa dessa maneira sem um erro. Estou usando parâmetros ['xxxx'], e não posso usar .Asstring
4. Código original:
=================================================== =================== ==========================
Se Caninsert então
Começar
com alldatamodule.aq_othermaterielout do
Começar
Fechar;
Sql.clear;
Sql.text: = 'inserir outros materielout (material de material, valor) (: insertId ,: insertamount)';
Parâmetros [0] .Value: = myMateriel;
Parâmetros [1] .Value: = myamount;
Execsql;
fim;
com alldatamodule.aq_othermaterielstock fazer
Começar
Fechar;
Sql.clear;
SQL.TEXT: = 'Atualize outros MaterIelstock Set valor = valor-: UPDATATEAMOUN WHERE MATERIALID =: UpdateId';
Parâmetros [0] .Value: = myamount;
Parâmetros [1] .Value: = myMateriel;
Execsql;
fim;
materialoutform.close;
fim;
Após este código
com alldatamodule.aq_othermaterielout do
Começar
Fechar;
Sql.clear;
SQL.TEXT: = 'Atualize outros MaterIelstock Set valor = valor-: UPDATATEAMOUN WHERE MATERIALID =: UpdateId';
Parâmetros [0] .Value: = myamount;
Parâmetros [1] .Value: = myMateriel;
Execsql;
fim;
A função de exibir automaticamente a lista de controle que pode ser usada não pode ser usada com o AllDatamodule, mas forcei o código por trás dele a ainda funcionar. O que está acontecendo?