"조건 식에서 데이터 형식이 일치"를 제공합니다 나는 다음과 같은 코드가 있습니다 cmd_oper의 두 번째 변종 (코드의 시작 부분에 주석 안 하나)와업데이트 명령은
/*
// it works
cmd_oper = "UPDATE [Model Elements] SET [Record Status] = \"Disabled\" WHERE [Index] = @db_idx";
/*/
// it doesn't work
cmd_oper = "UPDATE [Model Elements] SET [Record Status] = @stat WHERE [Index] = @db_idx";
//*/
using(OleDbCommand cmd = new OleDbCommand(cmd_oper, svr_conn))
{
cmd.Parameters.Add("@db_idx", OleDbType.Integer).Value = 2;
//cmd.Parameters.Add("@stat", OleDbType.VarChar).Value = "Disabled";
cmd.Parameters.AddWithValue("@stat", "Disabled");
cmd.ExecuteNonQuery();
}
을 나는 "취득 조건 식의 데이터 형식이 일치하지 않습니다 ". 다른 하나는 작동합니다. 레코드 상태 열의 유형은 데이터베이스에서 간단한 텍스트로 설정됩니다. StackOverflow에서이 오류와 관련된 많은 게시물을 알고 있지만 정확한 일치를 찾을 수 없습니다. 감사.
oledb를 사용하면 SQL 문에 나타나는 순서대로 매개 변수를 제공해야합니다. –
매개 변수에 varchar 길이를 추가해야합니다 : cmd.Parameters.Add ("@stat", OleDbType.VarChar, 100).값 = "사용 안 함"; –
@mh__ 아니요, 더 좋을 필요는 없습니다. – Steve