Ask Your Question
0

Mysql 데이터 session에 전달관련 문의

asked 2019-12-10 11:37:28 +0900

yongjupark gravatar image

updated 2019-12-10 11:54:41 +0900

Seunghyun gravatar image
// 쿼리 실행
void ExecuteQuery()
{
  string query = "INSERT INTO ExampleTable VALUES('{0}');";
        string now = WallClock.GetTimestring(WallClock.Now);

  Mariadb.Error error;
  connections.ExecuteQuerySync (String.Format (query, now), out error);

  if (error.Code != 0)
  {
    Log.Info ("Error: code={0}, desc={1}", error.Code, error.Desc);
  }

  string query2 = "SELECT date FROM ExampleTable;";

  connections.ExecuteQuery(query2, OnQueryExecuted);
}

public void OnQueryExecuted(ResultSets result_sets, Mariadb.Error error)
{
  if (error.Code != 0)
  {
    Log.Info ("Error: code={0}, desc={1}", error.Code, error.Desc);
  }

  if (!result_sets.SeekNextResultSet ()) {
    Log.Error ("no result set.");
    return;
  }

  while (result_sets.SeekNextRow ()) {
    System.DateTime dateTime = result_sets.GetDateTime (0);
    Log.Info ("Datetime : {0}", dateTime);
  }

메뉴얼에 있는 DB접근 예제 중 만약 Datatime을 session에 메세지를 담에 전송하고 싶을 경우, OnQueryExecuted되었을때 세션정보를 어떤식으로 가져와야 하는지 문의드립니다.

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2019-12-10 12:06:06 +0900

Seunghyun gravatar image

updated 2019-12-10 12:06:22 +0900

안녕하세요.

아이펀팩토리입니다.

아래와 같이 쿼리를 실행할 때 세션을 받아서 람다로 그대로 넘겨주는 방법을 쓰실 수 있습니다.

void ExecuteQuery(Session session)
{
  ...
  connections.ExecuteQuery(query2, (_1, _2) => OnQueryExecuted(_1, _2, session));
}

public void OnQueryExecuted(ResultSets result_sets, Mariadb.Error error, Session session)
{
  ...
}

감사합니다.

edit flag offensive delete link more

Comments

정보 감사합니다!!

yongjupark gravatar imageyongjupark ( 2019-12-10 12:09:15 +0900 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-12-10 11:37:28 +0900

Seen: 19 times

Last updated: Dec 10 '19