문제

C# Winforms .NET 3.5에서 SQL CE 3.5 Mobile 6.1 장치에서 3.5

ActiveSync를 통해 연결되는 동안 Desktop 응용 프로그램에서 Windows 모바일 장치의 SDF 데이터베이스로 연결하고 싶습니다. Visual Studio를 사용하면 장치에 대한 데이터 연결을 만들 수 있습니다. 연결은 확인을 테스트하고 Visual Studio를 사용하여 데이터베이스의 데이터를 볼 수 있습니다.

그런 다음 양식을 작성하고 DataGridView를 채우십시오. 프로그램을 실행하면 데이터베이스로가는 경로가 유효하지 않다는 오류가 발생합니다.

연결 문자열에서 모바일 장치 경로를 어떻게 지정해야합니까?

내 app.config에서는 경로에서 변형을 시도했지만 그중 어느 것도 작동하지 않습니다.

connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=\Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=Program Files\SqlCeViaActiveSync\Orders.sdf"

connectionString="Data Source=\Program Files\SqlCeViaActiveSync\Orders.sdf"

전체 연결 문자열 섹션은 다음과 같습니다.

<connectionStrings>
    <add name="SqlCeViaActiveSync.Properties.Settings.OrdersConnectionString"
        connectionString="Data Source=Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf"
        providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>

또한 Microsoft.sqlserverce.client를 참조했습니다.

누구든지 최근 기사/샘플을 지적 할 수 있습니까? 아니면 내가 뭘 잘못하고 있는지 알려줄 수 있습니까?

감사!

도움이 되었습니까?

해결책

방금 다음이 작동한다는 것을 알았습니다.

SqlCeConnection conn = new SqlCeConnection(@"Data Source='Mobile Device\Program Files\SqlCeViaActiveSync\Orders.sdf';");
        conn.Open();
        using (SqlCeTransaction trans = conn.BeginTransaction())
        {
            using (SqlCeCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = "SELECT [OrderNumber] FROM [Orders];";
                trans.Commit();
                SqlCeDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    this.listBox1.Items.Add((string)dr["OrderNumber"]);
                }

                MessageBox.Show(dr.RecordsAffected.ToString());
            }
        }
        conn.Close();

내가 찾고 있던 것은 정확히 아니었지만이 응용 프로그램에서 효과가있을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top