上一篇文章简单介绍了一下VS中的DataSet强类型怎么使用,今天继续说明怎么利用VS自动创建的强类型DataSet查询指定数据。
之前继续照着上一篇文章的步骤重新建一个winform工程:
简单的设计一下界面如下:
我们要完成的功能就是在界面上第一个空格输入一个ID,在下面得到该ID人的信息。
表结构如下:
在里面输入一些信息:
接着再按着上一篇文章所说的向项目中添加一个数据集,然后将表从数据库中拉入设计视图,在拉出来的数据表中右键添加à查询,点击后选择使用SQL语句,点击下一步。
这里我们就可以根据你想要的功能选择SQL语句了。
首先我们来选择返回行的Select语句。下面我们输入这样的SQL语句,然后点击下一步将要我们对新创建的方法取名。
VS会自动为我们生成两个方法,一个Fill方法和一个GetData的方法,第一个是向一个数据集中填充数据,第二个方法是返回数据集,两个方法的功能其实是一样的,只是使用不同,分别为这两个方法这样命名:
最后我们可以在设计视图中看到我们新建的两个方法:
最后我们的代码如下:
代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using S_DataSet.MyDBDataSetTableAdapters;
namespace S_DataSet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_serachByID_Click(object sender, EventArgs e)
{
int i=int.Parse(txt_ID.Text);
T_UsersTableAdapter userAdapter = new T_UsersTableAdapter();
//这里就是调用查找对应ID信息的新建函数了
MyDBDataSet.T_UsersDataTable table = userAdapter.GetDataByID(i);
if (table.Count > 0)
{
MyDBDataSet.T_UsersRow row = table[0];
//将信息输出到界面上
txt_Name.Text = row.Name;
txt_Age.Text = row.Age.ToString();
txt_Gender.Text = row.Gender.ToString();
}
else
{
MessageBox.Show("没有该人的信息");
}
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using S_DataSet.MyDBDataSetTableAdapters;
namespace S_DataSet
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_serachByID_Click(object sender, EventArgs e)
{
int i=int.Parse(txt_ID.Text);
T_UsersTableAdapter userAdapter = new T_UsersTableAdapter();
//这里就是调用查找对应ID信息的新建函数了
MyDBDataSet.T_UsersDataTable table = userAdapter.GetDataByID(i);
if (table.Count > 0)
{
MyDBDataSet.T_UsersRow row = table[0];
//将信息输出到界面上
txt_Name.Text = row.Name;
txt_Age.Text = row.Age.ToString();
txt_Gender.Text = row.Gender.ToString();
}
else
{
MessageBox.Show("没有该人的信息");
}
}
}
}
这样一来,我们写数据库编程,代码真的简化不少哈!