newtype
::: newtype의 지식창고 :::
newtype
전체 방문자
오늘
어제
  • 분류 전체보기 (392)
    • Dev (214)
      • C, C++ (43)
      • Go (5)
      • Web (49)
      • DBMS (21)
      • DevOps (8)
      • Java (2)
      • Windows, Win32 (4)
      • Visual Basic (5)
      • C# (2)
      • Mobile (25)
      • SQL CE (7)
      • Google Map (6)
      • Python (2)
      • cygwin (2)
      • 기타 (32)
      • Ruby (1)
    • 명언 (10)
    • 모임 (18)
      • 붕주회 (3)
      • 신흥컴정 (14)
      • 웹20기 (1)
    • 사진 (8)
    • 불펌 (29)
    • 막글 (98)
    • 게임 (6)
    • 여행 (8)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

  • whoami
05-21 10:35
hELLO · Designed By 정상우.
newtype

::: newtype의 지식창고 :::

Dev/Mobile

Compact Framework을 이용한 간단한 RDA 예제

2003. 7. 18. 17:50
요번에 VS.NET 2003 설치하구 잠깐 짬내서 해봤습니다.
MR은 서버 셋팅이 까다로와서 RDA방식으로 했구요.
EVC로 하다가 C#으로 하니 엄청 편하네여..@.@



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


               private void button1_Click(object sender, System.EventArgs e)
               {

                       string strLocalDB = "\\NorthWind.sdf";
                       string strCon = "Provider=microsoft.sqlserver.oledb.ce.2.0;Data Source=" + strLocalDB;
                       string strOleCon = "provider=sqloledb; data source=192.168.0.2; Initial Catalog=NorthWind; user id=sa; password=sa";
                       string strSQL = "SELECT ProductID, ProductName, UnitPrice FROM Products";

                       // 기존 파일 삭제
                       System.IO.File.Delete( strLocalDB );


                       // Local DB 생성
                       SqlCeEngine engine = new SqlCeEngine( strCon );
                       engine.CreateDatabase();

                       System.Data.SqlServerCe.SqlCeRemoteDataAccess rda;
                       SqlCeConnection con;
                       SqlCeCommand cmd;
                       SqlCeDataReader reader;

                       try
                       {
                               

                               // RDA Pull
                               rda        = new SqlCeRemoteDataAccess( "http://192.168.0.2/mobile/sscesa20.dll",                
                                                                    "", "", strCon );
                               rda.Pull( "Products", strSQL, strOleCon );

                               // Local Open
                               con        = new SqlCeConnection( "Data Source = \\Northwind.sdf;" );
                               cmd = new SqlCeCommand( strSQL, con );
                               cmd.CommandType = CommandType.Text;

                               cmd.Connection.Open();
                               reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

                               while( reader.Read() )
                               {
                                       System.Windows.Forms.ListViewItem lvi;
                                       lvi = new ListViewItem( reader.GetValue(0).ToString() );
                                       lvi.SubItems.Add( reader.GetValue(1).ToString() );
                                       lvi.SubItems.Add( reader.GetValue(2).ToString() );

                                       listView1.Items.Add( lvi );
                                       
                               }

                               reader.Close();
                               con.Close();

                       }
                       catch(SqlCeException ex)
                       {
                               SqlCeErrorCollection errorCollection = ex.Errors;

                               StringBuilder bld = new StringBuilder();
                               Exception   inner = ex.InnerException;

                               if (null != inner)
                               {
                                       MessageBox.Show("Inner Exception: " + inner.ToString());
                               }

                               foreach (SqlCeError err in errorCollection)
                               {
                                       bld.Append("\n Error Code: " + err.HResult.ToString("X"));
                                       bld.Append("\n Message   : " + err.Message);
                                       bld.Append("\n Minor Err.: " + err.NativeError);
                                       bld.Append("\n Source    : " + err.Source);
           
                                       foreach (int numPar in err.NumericErrorParameters)
                                       {
                                               if (0 != numPar) bld.Append("\n Num. Par. : " + numPar);
                                       }
           
                                       foreach (string errPar in err.ErrorParameters)
                                       {
                                               if (String.Empty != errPar) bld.Append("\n Err. Par. : " + errPar);
                                       }

                                       MessageBox.Show(bld.ToString());
                                       bld.Remove(0, bld.Length);
                               }
                       }

               }
반응형

'Dev > Mobile' 카테고리의 다른 글

한가지 더 여쭤볼게요.^^  (1) 2003.09.18
evb의 픽처박스에 에뮬레이터 상으로 bmp파일을 올릴려면 어떻게 해야 하나요?  (1) 2003.09.18
sdf파일은 pda상에서만 생성되나요?  (2) 2003.09.17
evb로 pc에 sdf파일을 생성할려고 하는데 에러가 뜹니다.-.-;  (1) 2003.09.17
명규님. RAS(window ce)에 관한 질문입니다.답변 부탁드려요.  (1) 2003.09.17
    'Dev/Mobile' 카테고리의 다른 글
    • evb의 픽처박스에 에뮬레이터 상으로 bmp파일을 올릴려면 어떻게 해야 하나요?
    • sdf파일은 pda상에서만 생성되나요?
    • evb로 pc에 sdf파일을 생성할려고 하는데 에러가 뜹니다.-.-;
    • 명규님. RAS(window ce)에 관한 질문입니다.답변 부탁드려요.
    newtype
    newtype
    지극히 개인적인 지식의 창고

    티스토리툴바