Como você obter objetos do comando SQL para um TableAdapter Dado e SqlDataAdapter em C # (.NET 2.0)
-
01-07-2019 - |
Pergunta
Estou criando um tratamento de erro genérico / registrando classe para as nossas aplicações. O objetivo é registrar as informações de exceção, informações sobre a classe e função (assim como parâmetros) e, se relevante, as informações sobre o objeto System.Data.SqlClient.SqlCommand
.
Eu gostaria de ser capaz de lidar passando em SqlCommands
, TableAdaptors
e SqlDataAdaptors
.
Eu sou novo para usando a reflexão e eu sei que é possível fazer isso, eu sou só não sei como ir sobre ele. Por favor, informe.
Solução
É isso que você está falando?
SqlDataAdapter da = new SqlDataAdapter();
var cmd1 = ((IDbDataAdapter)da).DeleteCommand;
var cmd2 = ((IDbDataAdapter)da).UpdateCommand;
var cmd3 = ((IDbDataAdapter)da).SelectCommand;
var cmd4 = ((IDbDataAdapter)da).InsertCommand;
O implementos SqlDataAdapter IDbDataAdapter, que tem getters / setters para todos os comandos CRUD. Os implementos SqlDataAdapter estes explicitamente, para que eles não aparecem na assinatura da classe a menos que você lançá-lo primeiro para a interface. Sem reflexão necessária.