65.9K
CodeProject 正在变化。 阅读更多。
Home

飞行日志

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.24/5 (40投票s)

2004年4月22日

CPOL
viewsIcon

45172

downloadIcon

202

飞行计划器的日志簿。

Sample Image - FlightLogBook.jpg

引言

大家好,我刚开始接触 Pocket PC 开发,我想为我的飞行模拟器制作一个日志簿。这个日志簿是用 C# 和 .NET Compact Framework 以及 SQL Server CE 2.0 开发的。

资源

我找到的唯一资源是关于使用 SQL Server CE 的。我在 MSDN 中找到了一份演练。
抱歉我的英语不好…

我是怎么做的?

很简单。我有三个窗体:一个用于主应用程序入口点,用于创建数据库(如果不存在),并显示其内容。

private void Form1_Load(object sender, System.EventArgs e)
{
    try 
    {
        // If the database doesn't exists, create it

        if (!File.Exists ("Flight.sdf")) 
        {
            SqlCeEngine engine = new SqlCeEngine ("Data Source = Flight.sdf");
            engine.CreateDatabase ();
            conn = new SqlCeConnection ("Data Source = Flight.sdf");
            conn.Open();
            cmd = conn.CreateCommand();
            cmd.CommandText = "CREATE TABLE " +
                  "Flights(ID int PRIMARY KEY IDENTITY(1,1), Departure ntext," +
                  "Arrival ntext, Date datetime, Weather ntext, Summary ntext)";
            cmd.ExecuteNonQuery();
            conn.Close();
        } 
        else // else initialize the connection
        {
            conn = new SqlCeConnection ("Data Source = Flight.sdf");
            cmd = conn.CreateCommand();
            UpdateLView();
        }
    }
    catch (SqlCeException ex) 
    {
    
    }
}
public void UpdateLView() //This function updates the main listview
{
    lVFlights.Items.Clear();
    conn.Open();
    cmd.CommandText = "SELECT * FROM Flights ORDER BY Date DESC;";
    SqlCeDataReader rdr = cmd.ExecuteReader();
    ListViewItem lvi = null;
    while(rdr.Read())
    {
        lvi = new ListViewItem(rdr.GetInt32(0).ToString());
        lvi.SubItems.Add(rdr.GetDateTime(3).ToShortDateString());
        lvi.SubItems.Add(rdr.GetString(1));
        lvi.SubItems.Add(rdr.GetString(2));
        lvi.SubItems.Add(rdr.GetString(4));
        lvi.SubItems.Add(rdr.GetString(5));
        lVFlights.Items.Add(lvi);
    }
    lVFlights.Refresh();
    conn.Close();
}

另外两个窗体允许添加新的条目,另一个用于修改条目。

测试一下!

要测试我的应用程序,您只需要使用 Visual Studio .NET 2003 编译即可。
请记住,您必须在您的机器上安装 PocketPC 2003 SDK。

© . All rights reserved.