飞行日志






3.24/5 (40投票s)
飞行计划器的日志簿。
引言
大家好,我刚开始接触 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。