* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Window10 64bit |
|
CUBRID 11.0 (11.0.2.0291-a507059) (64bit release build for Windows) (Jul 19 2021 17:58:23) |
|
[도움말]-[버전정보] 확인 |
|
ADO.NET |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
ADO.NET 에서 아래와 같이 Parameter를 추가하면 System.NullReferenceException이 발생합니다.
개발환경은 vs2019, C#, .net4.0 입니다. 도움 부탁드립니다.
CUBRIDCommand.Parameters.Add("?code", CUBRIDDataType.CCI_U_TYPE_VARNCHAR)
질문하신 코드만 봐서는 정확히 알 수 없으나, 아래의 간단한 예제 코드로 테스트 부탁드립니다.
참고로, VARNCHAR 타입은 9.0 버전부터 더 이상 지원하지 않습니다. 따라서 parameter를 add 하실때 CCI_U_TYPE_VARNCHAR 대신 CCI_U_TYPE_CHAR 또는 CCI_U_TYPE_STRING 을 사용 부탁드립니다.
https://www.cubrid.org/manual/ko/11.0/sql/datatype.html?highlight=nchar%20nchar%20varying#char-data-type
ADO.Net 에서 parameter를 사용 가이드는 아래의 주소를 참고해 주세요
https://www.cubrid.org/manual/ko/11.0/api/adodotnet.html#id10
예제 코드)
using (CUBRIDCommand cmd = new CUBRIDCommand("select id, name from ado_test where name=?", conn))
{
CUBRIDParameter p1 = cmd.Parameters.Add("?name", CUBRIDDataType.CCI_U_TYPE_CHAR);
p1.Value = "test_name1";
cmd.ExecuteNonQuery();
using (DbDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(i + " : " + reader[0].ToString() + ", " + reader[1].ToString());
}
reader.Close();
}
cmd.Close();
}