다음을 통해 공유


모바일 장치 및 데이터(C# 및 Java)

업데이트: 2007년 11월

C#과 .NET Compact Framework를 사용하면 데스크톱 데이터베이스 프로그래밍에 사용하는 것과 동일한 개념 및 이와 유사한 API를 통해 모바일 장치의 데이터베이스 데이터에 액세스하고 이를 관리할 수 있습니다. 모바일 장치에서 ADO.NET은 Pocket PC와 Smartphone을 비롯한 Windows CE 장치를 대상으로 하는 데스크톱 API의 하위 집합을 제공합니다. 자세한 내용은 데이터베이스 액세스(C# 및 Java)를 참조하십시오.

Java

Java에서는 J2ME와 JDBC를 사용하여 모바일 장치의 데이터베이스에 액세스할 수 있습니다. 자세한 내용은 데이터베이스 액세스(C# 및 Java)를 참조하십시오. J2ME는 모든 장치에 동일한 API를 표시하지 않으며 개발 환경도 하나가 아닙니다. 또한 J2ME는 구성에 따라 KVM 또는 JVM이라는 가상 컴퓨터에서 실행해야 합니다.

C#

C#의 경우에는 데스크톱이나 모바일 장치에서 연결, 명령 및 데이터 테이블 같은 익숙한 개념을 사용하여 데이터베이스 읽기 작업을 수행할 수 있습니다. System.Data.SqlServerCe 네임스페이스와 클래스를 사용합니다. 예를 들어 아래와 같은 작업을 할 수 있습니다.

  • 데이터베이스 연결에 System.Data.SqlServerCe.SqlCeConnection을 사용합니다.

  • SQL 명령 개체에 System.Data.SqlServerCe.SqlCeCommand를 사용합니다.

  • 데이터 테이블 개체에 DataTable 같은 결과 집합 개체를 사용합니다.

.NET Framework에서는 앞에서 언급한 클래스를 간편하게 함께 사용할 수 있도록 DataAdapter를 제공합니다. System.Data.SqlServerCe.SqlCeConnection 개체는 개체의 System.Data.SqlServerCe.SqlCeDataAdapter 연결 속성을 사용하여 설정할 수 있습니다.

실행할 쿼리는 DataAdapter의 System.Data.SqlServerCe.SqlCeDataAdapter.SelectCommand 속성을 사용하여 지정되거나 연결 개체와 함께 DataAdapter의 생성자에게 전달됩니다.

da = new SqlCeDataAdapter("SELECT * FROM Users", cn);

DataTable 개체는 DataAdapter 개체의 Fill 메서드를 사용하여 만듭니다. DataAdapter 개체에는 쿼리에서 반환된 결과 집합 데이터가 포함되어 있습니다. DataAdapter 개체를 반복하며 Rows 컬렉션을 사용하여 데이터 행에 액세스할 수 있습니다.

다음 코드에서는 모바일 장치의 SQLCE(SQL Server CE) 데이터베이스에 있는 테이블 행에 액세스하는 방법을 보여 줍니다.

namespace DataAccessCE
{
    using System.Data;
    using System.Data.SqlServerCe;

    class DataAccessCE
    {
        public static string connectionString = "";
        public static SqlCeConnection cn = null;
        public static SqlCeDataAdapter da = null;
        public static DataTable dt = new DataTable();

        static void Main()
        {
            connectionString = "Data Source=\\My Documents\\Database.sdf" ;
            cn = new SqlCeConnection(connectionString);

            da = new SqlCeDataAdapter("SELECT * FROM Users", cn);
            da.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                System.Console.WriteLine(dr[0]);
            }
        }
    }
}    

자세한 내용은 다음 항목을 참조하십시오.

코드 컴파일

응용 프로그램에서 SQLCE 데이터베이스를 사용하여 작업하려면 먼저 System.Data.SqlServerCe에 대한 참조를 프로젝트에 추가해야 합니다. 이를 추가하려면 개발 환경의 프로젝트 메뉴에서 참조 추가를 클릭합니다. 그런 다음 참조 추가 대화 상자에서 System.Data.SqlServerCe 구성 요소를 선택합니다.

참고:

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

강력한 프로그래밍

코드를 컴파일하고 실행하려면 다음 사항이 필요합니다. 그렇지 않으면 da.Fill(dt); 줄이 실패하고 예외가 throw됩니다.

  • SQL Server CE가 장치에 설치되어 있어야 합니다.

  • Database.sdf라는 SQLCE 데이터베이스에서 테스트를 위한 몇 가지 데이터가 포함된 데이터베이스 테이블이 있어야 합니다. SQL CE 도구를 사용하여 장치에 이 테이블을 빌드하거나 SQL Server 데스크톱에서 복제하여 .sdf 파일을 생성할 수 있습니다. .sdf 파일을 프로젝트에 추가하거나 연결 문자열에서 지정한 디렉터리에 수동으로 복사할 수 있습니다.

참고 항목

개념

C# 프로그래밍 가이드

DataSets(ADO.NET)

참조

스마트 장치(C# 작업 절차)

SqlConnection

SqlCommand

기타 리소스

Java 개발자를 위한 C#

스마트 장치 개발

DataSets 사용(ADO.NET)