WPF简单的数据库查询实例

下面是WPF简单的数据库查询实例的完整攻略:

1. 前置条件

在开始使用WPF实现简单的数据库查询实例之前,需要满足以下前置条件:

  • 确保你已经安装了Microsoft Visual Studio 2017或以上版本;
  • 确保你已经安装了Microsoft SQL Server Express。

2. 创建数据库和表格

在开始创建WPF应用程序之前,需要先创建一个数据库和表格。

这里,我们需要创建一个名为"Student"的数据库,并在其中创建一个名为"Info"的表格,包含以下三个字段:

  • Id:int类型,自增长;
  • Name:nvarchar(50)类型,表示姓名;
  • Score:int类型,表示成绩。

3. 创建WPF应用程序

在前置条件满足的前提下,可以开始创建WPF应用程序了。

  1. 在Visual Studio中创建一个新项目,选择WPF应用程序模板,并设置项目名称为"StudentScore"。
  2. 在MainWindow.xaml中添加以下控件:
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition/>
    </Grid.RowDefinitions>

    <StackPanel Orientation="Horizontal" Margin="10">
        <TextBlock Text="请输入学生姓名:" VerticalAlignment="Center"/>
        <TextBox x:Name="txtName" Margin="10,0" VerticalAlignment="Center"/>
        <Button Content="查询" Margin="10,0" VerticalAlignment="Center" Click="Button_Click"/>
    </StackPanel>

    <DataGrid Grid.Row="1" x:Name="gridData"/>
</Grid>

这里,我们添加了一个StackPanel用于输入查询条件,以及一个DataGrid用于显示查询结果。

  1. 在MainWindow.xaml.cs中添加以下代码:
using System.Windows;
using System.Data.SqlClient;
using System.Data;

namespace StudentScore
{
    public partial class MainWindow : Window
    {
        private static string ConnStr = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Student.mdf;Integrated Security=True";

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SqlConnection conn = new SqlConnection(ConnStr);
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from [Info] where Name=@Name", conn);
            sda.SelectCommand.Parameters.AddWithValue("@Name", txtName.Text);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            gridData.ItemsSource = dt.DefaultView;
        }
    }
}

这里,我们使用SqlConnection连接到数据库,使用SqlDataAdapter执行查询语句,使用DataTable存储查询结果,并将结果显示在DataGrid中。

  1. 将Student.mdf文件添加到项目中。

最后,启动程序,输入要查询的学生姓名,点击“查询”按钮即可查询到该学生的成绩信息。

4. 示例说明

以下是两个关于WPF简单的数据库查询实例的示例说明:

示例一

假设我们需要查询所有成绩大于60分的学生。

此时,我们可以在Button_Click事件处理方法中修改SQL语句如下,以实现按照成绩查询:

sda.SelectCommand = new SqlCommand("select * from [Info] where Score > @Score order by Score desc", conn);
sda.SelectCommand.Parameters.AddWithValue("@Score", 60);

示例二

假设我们需要查询某个年级的所有学生成绩。

此时,我们可以在数据库表格中添加一个名为“Grade”的字段,并在Button_Click事件处理方法中修改SQL语句如下,以实现按照年级查询:

sda.SelectCommand = new SqlCommand("select * from [Info] where Grade=@Grade order by Score desc", conn);
sda.SelectCommand.Parameters.AddWithValue("@Grade", "2019");

以上就是WPF简单的数据库查询实例的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:WPF简单的数据库查询实例 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • 分享下Asp.Net面试题目及答案集合

    分享Asp.Net面试题目及答案集合这一话题,可以采用以下的完整攻略: 1.明确话题 首先,我们需要明确话题,即分享Asp.Net面试题目以及对应的答案集合。在文章的开头部分,可以简要说明为什么分享这个话题,以及希望读者可以从中学到些什么。 2.列出题目 接下来,我们可以开始列出面试题目。将不同类型的题目分门别类,这样有利于读者更加清晰地了解各个领域的知识点…

    C# 2023年5月14日
    00
  • unity与vue交互(无第三方插件)

    下面我将为您介绍如何进行Unity与Vue交互的攻略,并提供两个示例。 前置知识 在深入讲解 Unity 与 Vue 交互之前,需要掌握以下技术: Unity 中 C# 与 JavaScript 编程 前端开发技术,包括 Vue.js 的使用方法 网络编程基础 Unity与Vue交互实现方式 Unity 以及 Vue.js 都支持WebSocket。因此,我…

    C# 2023年5月15日
    00
  • C#集合之不变集合的用法

    C#集合之不变集合的用法 C#中的不变集合(Immutable Collection)是指一旦创建,就不能再添加、删除或更改其元素的集合。在多线程编程和函数式编程中,不变集合被广泛应用。C#中的不变集合包括ImmutableList、ImmutableDictionary、ImmutableSortedSet等,下面我们将详细讲解不变集合的用法。 不变集合的…

    C# 2023年6月8日
    00
  • 基于为何我不喜欢用Path.Combine的详解

    关于“为何我不喜欢使用Path.Combine”的问题,我可以给你一些详细的讲解和解决方案。 1. Path.Combine的缺陷 通常,在C#或其他编程语言中,我们使用Path.Combine方法将文件路径组合成一个完整的路径。然而,这种方法并非是无懈可击的。它有以下几个缺陷: Path.Combine方法要求输入的路径必须是字符串类型,这意味着必须要将路…

    C# 2023年6月7日
    00
  • 5分钟用C#实现串口助手

    让我们来详细讲解一下“5分钟用C#实现串口助手”的完整攻略。 准备工作 在开始编写代码之前,我们需要准备一些工作: 安装 Visual Studio IDE 或者其他 C# 编辑器 打开 Visual Studio,并新建一个控制台应用程序项目 在项目中添加 System.IO.Ports 命名空间 实现串口初始化 首先,我们需要初始化串口,让它与我们的计算…

    C# 2023年5月15日
    00
  • C# Lambda 知识回顾

    C# Lambda 知识回顾 什么是Lambda表达式 Lambda表达式是C# 3.0中引入的一个新特性,它可以使我们更简洁的书写代码。Lambda表达式本质上是一个匿名方法,它可以被用来创建委托或表达式树。Lambda表达式对于编写LINQ查询表达式或事件处理程序代码非常有用。 Lambda表达式的语法如下: (parameter_list) =>…

    C# 2023年6月6日
    00
  • C#用timer实现背单词小程序

    下面是详细的攻略: 1. 准备工作 在开始编写C#背单词小程序之前,需要准备以下工作: 安装Visual Studio开发环境 确认安装了.NET Framework 4.5或以上版本 准备一个背单词的数据源 2. 创建Windows窗体应用 首先,我们需要在Visual Studio中创建一个Windows窗体应用程序,用来作为程序的容器。 3. 设计程序…

    C# 2023年6月1日
    00
  • ASP.NET Core使用EF创建模型(包含属性、排除属性、主键和生成值)

    ASP.NET Core 使用 EF 创建模型是一种常见的操作,可以用于定义应用程序中的数据模型。以下是 ASP.NET Core 使用 EF 创建模型的完整攻略: 步骤一:安装 Entity Framework Core 首先,需要安装 Entity Framework Core。可以使用以下命令在 Visual Studio 中安装 Entity Fra…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部