>백엔드 개발 >C++ >명명된 매개변수 대신 위치 매개변수를 사용하여 OLEDB 테이블을 업데이트하려면 어떻게 해야 합니까?

명명된 매개변수 대신 위치 매개변수를 사용하여 OLEDB 테이블을 업데이트하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-25 08:58:17290검색

How Can I Update an OLEDB Table Using Positional Parameters Instead of Named Parameters?

OLED 매개변수를 사용하여 테이블 업데이트

이 질문은 LM_code, M_Name 및 Desc의 세 가지 필드가 있는 테이블을 업데이트하는 데 중점을 둡니다. LM_code가 자동 생성되는 동안 M_Name 및 Desc는 OLEDB 매개변수를 사용하여 업데이트해야 합니다.

문제 설명

제공된 코드는 직접 SQL을 사용하여 테이블을 업데이트하려고 시도합니다. 쿼리를 실행했지만 값이 업데이트되지 않습니다. 질문은 OLEDB 매개변수를 사용하면 이 문제를 해결할 수 있음을 시사합니다.

해결책

OLEDB는 기본적으로 명명된 매개변수를 지원하지 않습니다. 그러나 의도를 인식하고 매개변수를 순서대로 전달할 수 있습니다. 이를 활용하려면 다음 단계를 따르세요.

  1. 위치 매개변수 사용: 명명된 매개변수 대신 SQL 문에 정의된 순서대로 값을 전달하세요.
  2. OLED 명령 생성: 연결 설정 및 OLEDB 명령 생성 개체.
  3. 순서대로 매개변수 추가: 명령 개체에 매개변수를 추가하여 해당 순서가 SQL 쿼리의 자리 표시자와 일치하는지 확인합니다.
  4. SQL 문 설정 : 위치 자리 표시자가 있는 SQL 문을 명령에 할당합니다. text.
  5. ExecuteNonQuery: 테이블을 업데이트하는 명령을 실행합니다.

코드 조각:

using (OleDbConnection conn = new OleDbConnection(connString))
{
    conn.Open();
    OleDbCommand cmd = conn.CreateCommand();

    cmd.Parameters.Add(new OleDbParameter("@MName", M_Name));
    cmd.Parameters.Add(new OleDbParameter("@Desc", Desc));
    cmd.Parameters.Add(new OleDbParameter("@LMCode", LM_code));

    cmd.CommandText = "Update Master_Accounts SET M_Name = @MName, Desc = @Desc WHERE LM_code = @LMCode";
    cmd.ExecuteNonQuery();
}

이 방법을 따르면 OLEDB 매개변수를 사용하여 테이블을 효과적으로 업데이트하여 적절한 값 전파를 보장할 수 있습니다. 및 현장 업데이트.

위 내용은 명명된 매개변수 대신 위치 매개변수를 사용하여 OLEDB 테이블을 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.