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






3.91/5 (16投票s)
使用 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 所示)
创建智能设备应用程序项目后,会立即出现第二个弹出窗口,允许用户选择“目标平台”和“.NET Compact 版本”。
目标平台类型包括
- Pocket PC 2003
- Windows CE
- Windows Mobile 5.0 Pocket PC SDK
- Windows Mobile 5.0 智能手机 SDK
- Windows Mobile 6 Professional SDK
如果您想使用以上不同的模拟器,请使用弹出窗口中的下载链接。
.NET Compact Framework 类型包括
- .NET Compact Framework 版本 2.0
- .NET Compact Framework 版本 3.5
我将选择设备应用程序,如下面的图 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:txtuname
、txtpasssword
、lbluname
、lblpassword
、btnsubmit
和 btnreset
。
注意:在登录窗体中,应注意密码文本框,它不应显示任何字符。在文本框的密码字符字段中填充 * 或任何符号。
项目设置的最后一步是将 SqlServerCE
数据库文件添加到当前项目中。右键单击项目 --> 添加 --> 新建项 --> 数据库文件。为该数据库文件命名,然后单击确定。它会将适当的数据库文件添加到项目中,您需要设置数据源配置向导。首次创建时,我们没有任何表和数据集,因此单击完成以创建一个空数据集。
现在,转到服务器资源管理器窗口,浏览您的数据库并创建一个新表。这可以通过右键单击表文件夹并选择“创建表”选项来完成。这将打开一个新的“表创建向导”,提示您输入表名、列名、类型和大小。
我的表结构如下:
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 表以选择其所有行,然后单击下一步。选择通过表适配器使用的所有方法,然后单击下一步。它将生成一条消息,表明您的数据表和表适配器已成功配置。
它显示了数据表适配器,如下图所示
在使用时,将此数据表适配器添加到您的窗体中。在我们的例子中,我们在 *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!");
}
}
}
如何运行?
- 按 F5 或单击开始调试。
- 生成项目后,Visual Studio 会弹出一个选择窗口,供用户选择目标设备选项。
- 选择设备并单击确定。将应用程序加载到设备模拟器中需要一些时间。
- 输入用户名和密码,然后单击登录。如果您想清除用户名和密码文本框,请单击重置按钮代码。
关注点
在通过 Visual Studio 2008 实现使用后端 SQL Server CE 数据库的智能设备应用程序时,我通过成功处理 SQL Server 数据库和智能设备应用程序的许多问题而学到了很多。最后,我得出的结论是,SQL Server Compact Edition 是一个可靠的 SQL Server 数据库,可以连接到智能设备应用程序。大多数用户试图将智能设备应用程序连接到现有的 Microsoft SQL Server 数据库,这是不可能的。智能设备应用程序的限制是它无法与 Microsoft SQL Server 2005 进行高并发数据库连接。
感谢您阅读本文。我非常感谢您的反馈。