OleDbCommand.Prepare Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria uma versão preparada (ou compilada) do comando na fonte de dados.
public:
virtual void Prepare();
public:
override void Prepare();
public void Prepare();
public override void Prepare();
abstract member Prepare : unit -> unit
override this.Prepare : unit -> unit
override this.Prepare : unit -> unit
Public Sub Prepare ()
Public Overrides Sub Prepare ()
Implementações
Exceções
Exemplos
O exemplo seguinte cria um OleDbCommand e abre a ligação. O exemplo prepara então um procedimento armazenado na fonte de dados ao passar uma string que é uma instrução SQL SELECT e uma string para usar para se ligar à fonte de dados.
private static void OleDbCommandPrepare(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
// Create the Command.
OleDbCommand command = new OleDbCommand();
// Set the Connection, CommandText and Parameters.
command.Connection = connection;
command.CommandText =
"INSERT INTO dbo.Region (RegionID, RegionDescription) VALUES (?, ?)";
command.Parameters.Add("RegionID", OleDbType.Integer, 4);
command.Parameters.Add("RegionDescription", OleDbType.VarWChar, 50);
command.Parameters[0].Value = 20;
command.Parameters[1].Value = "First Region";
// Call Prepare and ExecuteNonQuery.
command.Prepare();
command.ExecuteNonQuery();
// Change parameter values and call ExecuteNonQuery.
command.Parameters[0].Value = 21;
command.Parameters[1].Value = "SecondRegion";
command.ExecuteNonQuery();
}
}
Public Sub OleDbCommandPrepare(ByVal connectionString As String)
Using connection As OleDbConnection = New _
OleDbConnection(connectionString)
connection.Open()
' Create the Command.
Dim command As New OleDbCommand()
' Set the Connection, CommandText and Parameters.
command.Connection = connection
command.CommandText = _
"INSERT INTO dbo.Region (RegionID, RegionDescription) VALUES (?, ?);"
command.Parameters.Add("RegionID", OleDbType.Integer, 4)
command.Parameters.Add("RegionDescription", OleDbType.VarWChar, 50)
command.Parameters(0).Value = 20
command.Parameters(1).Value = "First Region"
' Call Prepare and ExecuteNonQuery.
command.Prepare()
command.ExecuteNonQuery()
' Change parameter values and call ExecuteNonQuery.
command.Parameters(0).Value = 21
command.Parameters(1).Value = "Second Region"
command.ExecuteNonQuery()
End Using
End Sub
Observações
Se a CommandType propriedade estiver definida para TableDirect, Prepare não faz nada. Se CommandType for definido para StoredProcedure, a chamada a Prepare deve ter sucesso, embora possa causar um no-op.
Antes de chamar Prepare, especifique o tipo de dados de cada parâmetro na instrução a ser preparada. Para cada parâmetro que tenha um tipo de dado de comprimento variável, deve definir a propriedade Tamanho para o tamanho máximo necessário. Prepare devolve um erro se estas condições não forem cumpridas.
Se chamar um Execute método depois de chamar Prepare, qualquer valor de parâmetro maior do que o especificado pela propriedade Tamanho é automaticamente truncado para o tamanho original especificado do parâmetro, e não são retornados erros de truncamento.
Os parâmetros de saída (estejam preparados ou não) devem ter um tipo de dado especificado pelo utilizador. Se especificar um tipo de dado de comprimento variável, também deve especificar o Tamanho máximo.