문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.
- 뒤끝 SDK 버전 : 5.7.0
- 프로젝트명 : Loheldi_test
- 스테이터스 코드 :
- 에러 코드 :
- 에러 메시지 : KeyNotFoundException: The given key was not present in the dictionary.
안녕하세요 항상 잘 이용하고 있습니다. 테이블에 정보 삽입까지는 잘 되었는데, 테이블에 있는 정보를 불러오는 것이 제가 써봤던 db형식과는 조금 다른 느낌이라 애를 먹고 있습니다. dictionary라는 항목을 어떻게 이용해야 바람직 한 건지 궁금하구요, 현재 제가 오류가 난 코드를 통해 문제점이 어떤것인지 알려주시면 감사하겠습니다. 초보라 죄송합니다ㅠ
dictionary
- Dictionary<string, int> charset = new Dictionary<string, int>
{
{ “Level”, 1 },
{ “Coin”, 2000 },
{ “Exp”, 150 }
};
정보 삽입
public void AddUserData()
{
Param param = new Param();
param.Add("이름", "cheolsu");
param.Add("level", 1);
param.Add("coin", 10);
param.Add("exp", 0);
BackendReturnObject BRO = Backend.GameData.Insert("character", param);
if (BRO.IsSuccess())
{
print("동기 방식 데이터 입력 성공");
}
else Error(BRO.GetErrorCode(), "gameData");
}
정보 읽기
public void readData()
{
var bro = Backend.GameData.Get(“character”, new Where(), 10);
if (bro.IsSuccess())
{
JsonData jsonData = bro.GetReturnValuetoJSON();
string level = jsonData[“charset”][0][“level”][0].ToString();
string coin = jsonData[“charset”][0][“coin”][0].ToString();
string exp = jsonData[“charset”][0][“exp”][0].ToString();
print($"Level : {level} Coin : {coin} Exp : {exp}");
}
else Error(bro.GetErrorCode(), "gameData");
if (bro.GetReturnValuetoJSON()["rows"].Count <= 0)
{
// 요청이 성공해도 where 조건에 부합하는 데이터가 없을 수 있기 때문에
// 데이터가 존재하는지 확인
// 위와 같은 new Where() 조건의 경우 테이블에 row가 하나도 없으면 Count가 0 이하 일 수 있다.
Debug.Log(bro);
return;
}
// 검색한 데이터의 모든 row의 inDate 값 확인
for (int i = 0; i < bro.Rows().Count; ++i)
{
var inDate = bro.Rows()[i]["inDate"]["S"].ToString();
Debug.Log(inDate);
}
}