OleDbCommand.Prepare Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma versão preparada (ou compilada) do comando na fonte de dados.
public:
override void Prepare();
public:
virtual void Prepare();
public override void Prepare ();
public void Prepare ();
override this.Prepare : unit -> unit
abstract member Prepare : unit -> unit
override this.Prepare : unit -> unit
Public Overrides Sub Prepare ()
Public Sub Prepare ()
Implementações
Exceções
Exemplos
O exemplo a seguir cria um OleDbCommand e abre a conexão. Em seguida, o exemplo prepara um procedimento armazenado na fonte de dados passando uma cadeia de caracteres que é uma instrução SQL SELECT e uma cadeia de caracteres a ser usada para se conectar à 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
Comentários
Se a CommandType propriedade estiver definida TableDirect
como , Prepare não fará nada. Se CommandType for definido StoredProcedure
como , a chamada para Prepare deverá ter êxito, embora possa causar uma não operação.
Antes de chamar , especifique Prepareo tipo de dados de cada parâmetro na instrução a ser preparada. Para cada parâmetro que tem um tipo de dados de comprimento variável, você deve definir a propriedade Size como o tamanho máximo necessário. Prepare retornará um erro se essas condições não forem atendidas.
Se você chamar um Execute
método depois de chamar Prepare, qualquer valor de parâmetro maior que o valor especificado pela propriedade Size será truncado automaticamente para o tamanho original especificado do parâmetro e nenhum erro de truncamento será retornado.
Os parâmetros de saída (preparados ou não) devem ter um tipo de dados especificado pelo usuário. Se você especificar um tipo de dados de comprimento variável, também deverá especificar o Tamanho máximo.