OleDbCommand.Prepare 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터 소스에 대해 명령의 준비된(또는 컴파일된) 버전을 만듭니다.
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 ()
구현
예외
예제
다음 예제에서는 을 OleDbCommand 만들고 연결을 엽니다. 그런 다음, SQL SELECT 문인 문자열과 데이터 원본에 연결하는 데 사용할 문자열을 전달하여 데이터 원본에 저장 프로시저를 준비합니다.
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
설명
속성이 로 CommandType 설정된 TableDirect
Prepare 경우 아무 것도 수행하지 않습니다. 가 로 StoredProcedure
설정된 경우 CommandType 에 대한 Prepare 호출이 성공해야 하지만 no-op이 발생할 수 있습니다.
를 호출 Prepare하기 전에 준비할 문에서 각 매개 변수의 데이터 형식을 지정합니다. 길이가 가변적인 데이터 형식이 있는 각 매개 변수에 대해 Size 속성을 필요한 최대 크기로 설정해야 합니다. Prepare 는 이러한 조건이 충족되지 않으면 오류를 반환합니다.
를 호출한 후 메서드를 Execute
호출 Prepare하는 경우 Size 속성에 지정된 값보다 큰 매개 변수 값은 매개 변수의 원래 지정된 크기로 자동으로 잘리며 잘림 오류가 반환되지 않습니다.
출력 매개 변수(준비 여부)에는 사용자 지정 데이터 형식이 있어야 합니다. 가변 길이 데이터 형식을 지정하는 경우 최대 크기도 지정해야 합니다.