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

使用 SQL Server CE 数据库的智能设备登录应用程序

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.91/5 (16投票s)

2009年6月8日

CPOL

5分钟阅读

viewsIcon

157245

downloadIcon

2993

使用 SQL Server CE 数据库开发 .NET 2.0 智能客户端的综合指南

引言

智能设备应连接到数据库以提高性能和便利性。当用户想要实现支持数据库的智能设备应用程序时,通常会觉得有些挑战。通过本文,我想提供一个示例演示,使用 Microsoft Visual Studio 2008 和 MSSQL Server CE 数据库来接触支持数据库的智能设备应用程序。本文包含 C# .NET 源代码。我使用了一个简单的数据连接并创建了一个登录页面,以便用户可以轻松理解智能设备应用程序和数据库连接。

Using the Code

打开 Microsoft Visual Studio 2008,选择 文件 -> 新建项目 -> Visual C# 项目类型下的智能设备应用程序(如图 1 所示)

图 1:新建项目智能设备应用程序。

创建智能设备应用程序项目后,会立即出现第二个弹出窗口,允许用户选择“目标平台”和“.NET Compact 版本”。

目标平台类型包括

  1. Pocket PC 2003
  2. Windows CE
  3. Windows Mobile 5.0 Pocket PC SDK
  4. Windows Mobile 5.0 智能手机 SDK
  5. Windows Mobile 6 Professional SDK

如果您想使用以上不同的模拟器,请使用弹出窗口中的下载链接。

.NET Compact Framework 类型包括

  1. .NET Compact Framework 版本 2.0
  2. .NET Compact Framework 版本 3.5

我将选择设备应用程序,如下面的图 2 所示

图 2:选择项目类型应用程序。

现在,智能设备项目本身会为您提供一个默认的 Mobile Form,名为 *Form1.cs*。
如果您想在项目中创建多个窗体,请右键单击项目,然后
添加 --> 新建项 --> 选择 Windows Form 并给出适当的名称。单击确定。

如果您想更改首先运行的 Mobile Form,则需要在项目内的 *program.cs* 文件中进行操作。

//Note: Create a form object instance here to run first.
static void Main()
{
    Application.Run(new Form1());
} 

现在,您需要在项目中创建一个合适的用户界面。如果您想创建一个简单的应用程序,可以使用 .NET 智能设备项目创建一个登录窗体。首先在窗体上放置两个标签、两个文本框和两个按钮。然后,通过在属性窗口中设置 ID 来为它们命名。

我为控件设置了以下 ID:txtunametxtpassswordlblunamelblpasswordbtnsubmitbtnreset

注意:在登录窗体中,应注意密码文本框,它不应显示任何字符。在文本框的密码字符字段中填充 * 或任何符号。

图 3:设计模式下的智能设备窗体。

项目设置的最后一步是将 SqlServerCE 数据库文件添加到当前项目中。右键单击项目 --> 添加 --> 新建项 --> 数据库文件。为该数据库文件命名,然后单击确定。它会将适当的数据库文件添加到项目中,您需要设置数据源配置向导。首次创建时,我们没有任何表和数据集,因此单击完成以创建一个空数据集。

图 4:添加新项数据库文件。

图 5:数据源配置向导。

现在,转到服务器资源管理器窗口,浏览您的数据库并创建一个新表。这可以通过右键单击表文件夹并选择“创建表”选项来完成。这将打开一个新的“表创建向导”,提示您输入表名、列名、类型和大小。

图 6:创建新表。

图 7:选择数据连接。

我的表结构如下:

Table Name: user
uname      nvarchar(100)
password   nvarchar(100)  

重置函数

  /* Reset Button Code */
        private void btnreset_Click(object sender, EventArgs e)
        {
            txtuname.Text = "";
            txtpassword.Text = "";
        }

登录函数

如何将移动应用程序与数据库连接

首先双击解决方案资源管理器中已创建的数据集。然后,通过右键单击 --> 添加 --> 表适配器,在该数据集中添加一个表适配器。
它会自动将现有数据集作为表适配器的连接。单击下一步,选择命令类型为“使用 SQL 语句”,然后单击下一步。使用查询生成器选项并选择 user 表以选择其所有行,然后单击下一步。选择通过表适配器使用的所有方法,然后单击下一步。它将生成一条消息,表明您的数据表和表适配器已成功配置。

它显示了数据表适配器,如下图所示

图 8:表视图

在使用时,将此数据表适配器添加到您的窗体中。在我们的例子中,我们在 *Form1.cs* 设计模式下添加了 userdatatableadpter1。在工具箱中看不到此表适配器控件,直到您生成智能设备项目。第一步是生成项目,之后您可以在工具箱中看到一个创建的框架。将此新工具箱控件拖到您的项目中。

转到窗体代码窗口,并在项目中添加“using System.Data.SqlServerCe;”命名空间。

并将以下代码添加到您的代码窗口中

//Login button click
private void btnlogin_Click(object sender, EventArgs e)
{
    AppDatabase1DataSet ds = new AppDatabase1DataSet();
    AppDatabase1DataSet.userDataTable dt = new
          AppDatabase1DataSet.userDataTable();
    this.userTableAdapter1.Fill(dt);
    foreach (DataRow dr in dt.Rows)
    {
        if (dr[0].ToString() == txtuname.Text && dr[1].ToString() == txtpassword.Text)
        {
            txtpassword.Text = "";
            txtpassword.Text = dr[0].ToString();
            MessageBox.Show("Login Valid!");
        }
    }
} 
如何运行?
  1. 按 F5 或单击开始调试。
  2. 生成项目后,Visual Studio 会弹出一个选择窗口,供用户选择目标设备选项。
  3. 选择设备并单击确定。将应用程序加载到设备模拟器中需要一些时间。
  4. 输入用户名和密码,然后单击登录。如果您想清除用户名和密码文本框,请单击重置按钮代码。

图 9:USA Windows Mobile 5.0 Pocket PC R2 模拟器。

关注点

在通过 Visual Studio 2008 实现使用后端 SQL Server CE 数据库的智能设备应用程序时,我通过成功处理 SQL Server 数据库和智能设备应用程序的许多问题而学到了很多。最后,我得出的结论是,SQL Server Compact Edition 是一个可靠的 SQL Server 数据库,可以连接到智能设备应用程序。大多数用户试图将智能设备应用程序连接到现有的 Microsoft SQL Server 数据库,这是不可能的。智能设备应用程序的限制是它无法与 Microsoft SQL Server 2005 进行高并发数据库连接。

感谢您阅读本文。我非常感谢您的反馈。

© . All rights reserved.