如何使用datagrid获取数据库中的某一行数据 (datagrid 获取某一行数据库)

如何使用DataGrid获取数据库中的某一行数据

在许多应用程序中,数据表格是一个必须的功能。 DataGrid控件是一种通过显示来自数据源的数据,使用户能够查看和编辑数据的控件。本文将介绍如何使用DataGrid来获取数据库中的某一行数据。

一、创建数据库

我们需要创建一个数据库,并在其中创建一个表来存储数据。 在本例中,我们将创建一个名为“student”的表,其中包含三个列:id、name和age。在创建完数据库和表之后,我们需要添加一些数据,以便更好地演示如何在DataGrid中获取和显示这些数据。

二、创建WPF应用程序

为了演示如何使用DataGrid来获取数据库中的某一行数据,我们将创建一个新的WPF应用程序。 我们将使用C#编写代码,并使用Visual Studio来创建新的WPF项目。

三、添加引用

在开始编写代码之前,我们需要添加一些引用。我们需要添加System.Data.dll引用。我们需要添加System.Data.SqlClient.dll引用。您可以在解决方案资源管理器中右键单击项目,然后选择属性。在窗口中,选择“引用”标签,并单击“添加引用”按钮。选择System.Data.dll和System.Data.SqlClient.dll,并单击确定。

四、连接到数据库

在WPF应用程序中连接到数据库的方法有很多。 在这里,我们将使用SqlConnection对象打开连接。 这是一个简单的代码示例,它将连接到我们之前创建的学生数据库:

SqlConnection conn = new SqlConnection(@”Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\student.mdf;Integrated Security=True;Connect Timeout=30″);

五、查询数据

现在我们已经连接到数据库。 下一步是查询数据并将其添加到DataGrid中。 在这里,我们将使用SqlDataAdapter对象执行查询操作。 SqlDataAdapter对象用于填充DataSet对象。 我们可以使用SqlDataAdapter对象从数据库中选择数据,并将其填充到DataSet对象中。 下面是一个简单的代码示例:

string query = “SELECT * FROM student”;

SqlDataAdapter adapter = new SqlDataAdapter(query, conn);

DataSet ds = new DataSet();

adapter.Fill(ds, “student”);

六、将数据添加到DataGrid中

现在我们已经将数据填充到DataSet对象中,下一步是将数据添加到DataGrid中。 您可以使用DataGrid的ItemsSource属性将数据源绑定到DataGrid中。 在这里,我们将使用DataSet对象作为数据源,并将DataTable对象绑定到DataGrid中。下面是一个简单的代码示例:

dataGrid.ItemsSource = ds.Tables[“student”].DefaultView;

七、获取DataGrid中选定的行

我们已经将数据填充到DataGrid中。 下一步是获取DataGrid中选定的行。 在这里,我们将使用DataGrid.SelectedCells属性来检索选定的单元格。我们首先获取所选单元格的列和行索引,然后使用这些索引检索行中的数据,如下所示:

DataGridCellInfo cellInfo = dataGrid.SelectedCells[0];

int col = cellInfo.Column.DisplayIndex;

int row = dataGrid.Items.IndexOf(dataGrid.SelectedCells[0].Item);

DataRowView rowView = (DataRowView)dataGrid.Items[row];

string id = rowView[col].ToString();

八、在DataGrid中更新选定的行

我们已经知道如何检索DataGrid中选定的行。 下一步是在DataGrid中更新选定的行。 在这里,我们将使用SqlDataAdapter对象以及SqlCommandBuilder对象来更新数据库中的数据。SqlCommandBuilder对象使用SelectCommand属性自动生成UpdateCommand,DeleteCommand和InsertCommand。 下面是一个简单的代码示例:

SqlDataAdapter adapter = new SqlDataAdapter(“SELECT * FROM student”, conn);

SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

adapter.Update(ds, “student”);

九、结论

我们已经了解了如何使用DataGrid来获取数据库中的某一行数据,以及如何更新数据库中的行。 DataGrid控件非常强大,在许多应用程序中使用广泛。 下面是完整的示例代码,它将连接到数据库,从数据库中检索数据,将数据添加到DataGrid中,并演示如何获取和更新DataGrid中选定的行:

using System.Windows;

using System.Windows.Controls;

using System.Data.SqlClient;

using System.Data;

namespace WpfApp1

{

public partial class MnWindow : Window

{

SqlConnection conn = new SqlConnection(@”Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\student.mdf;Integrated Security=True;Connect Timeout=30″);

SqlDataAdapter adapter;

DataSet ds = new DataSet();

public MnWindow()

{

InitializeComponent();

}

private void Window_Loaded(object sender, RoutedEventArgs e)

{

string query = “SELECT * FROM student”;

adapter = new SqlDataAdapter(query, conn);

adapter.Fill(ds, “student”);

dataGrid.ItemsSource = ds.Tables[“student”].DefaultView;

}

private void buttonUpdate_Click(object sender, RoutedEventArgs e)

{

adapter.Update(ds, “student”);

}

private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)

{

if (dataGrid.SelectedCells.Count > 0)

{

DataGridCellInfo cellInfo = dataGrid.SelectedCells[0];

int col = cellInfo.Column.DisplayIndex;

int row = dataGrid.Items.IndexOf(dataGrid.SelectedCells[0].Item);

DataRowView rowView = (DataRowView)dataGrid.Items[row];

string id = rowView[col].ToString();

textBoxID.Text = id;

}

}

}

}


数据运维技术 » 如何使用datagrid获取数据库中的某一行数据 (datagrid 获取某一行数据库)