2

我知道这个问题已经被问过很多次关于如何创建搜索按钮的问题。我对 C# 编程非常陌生,我很难创建搜索,只是没有从其他帖子中找到我想要的东西。所以我希望有人能帮助我。

我创建了一个 Windows 窗体应用程序,并且我使用数据集中的“详细信息”视图进行了表单设置,当我从一个记录滚动到另一个记录时,数据在应用程序中正确显示。我的数据存储在 sdf 文件中。我想让人们输入一个“帐号”或一个人的“姓氏”,然后能够点击搜索按钮。在搜索按钮之后,预先安排的字段将更新信息。为了能够选择“姓氏”或“帐号”,如果需要,我可以在组合框中列出项目。

我已经包含了代码的副本,其中一些项目的命名已更改,以免泄露我的职业。任何帮助是极大的赞赏。

using System.Collections.Generic;   
using System.ComponentModel;   
using System.Data;   
using System.Drawing;   
using System.Linq;   
using System.Text;   
using System.Windows.Forms;   

namespace WindowsFormsApplication1   
{
public partial class Form1 : Form   
{   
    public Form1()   
    {   
        InitializeComponent();   
    }   

    private void custtableBindingNavigatorSaveItem_Click(object sender, EventArgs e)   
    {   
        this.Validate();   
        this.custtableBindingSource.EndEdit();    
        this.tableAdapterManager.UpdateAll(this.custDataSet);   

    }    

    private void label1_Click(object sender, EventArgs e)   
    {   

    }   

    private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)   
    {   

    }   

    private void custtableBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)   
    {   
        this.Validate();   
        this.custtableBindingSource.EndEdit();   
        this.tableAdapterManager.UpdateAll(this.custDataSet);   

    }   

    private void Form1_Load(object sender, EventArgs e)   
    {   
        // TODO: This line of code loads data into the 'custDataSet.custtable' table.    You can move, or remove it, as needed.   
        this.custtableTableAdapter.Fill(this.custDataSet.custtable);   

    }   

    private void file_Name_12TextBox_TextChanged(object sender, EventArgs e)   
    {   

    }   

    private void fillByToolStripButton_Click(object sender, EventArgs e)   
    {   
        try   
        {   
            this.custtableTableAdapter.FillBy(this.custDataSet.custtable);    
        }   
        catch (System.Exception ex)   
        {   
            System.Windows.Forms.MessageBox.Show(ex.Message);   
        }   

    }   

    private void btnfind_Click(object sender, EventArgs e)
    {

    }
}
}
4

1 回答 1

0

custtableBindingNavigatorSaveItem_Click 和 custtableBindingNavigatorSaveItem_Click_1 是什么?是一样的,如果它们是两个按钮做同样的事情,那么你可以从两个按钮使用相同的方法(虽然我不知道为什么两个按钮做同样的事情)。

无论如何,您有一些选择,这取决于数据大小、所需的速度、数据是否应该脱机或数据库锁定等等......

  1. 设置您的查询/存储过程(存储过程更安全)以允许限制结果。这让 DB 可以完成所有艰苦的工作——这就是 DB 的设计目的。

  2. 将所有内容读入内存(您的表格填充)并从表格中选择 - 不要与 Linq 查询真正不同。这意味着所有数据都处于脱机状态,您需要决定何时以及如何将其写回数据库(如果有的话)。

PS:我很好奇,你是什么职业,你这里的化名还不够躲?想象力变得疯狂!

于 2012-06-16T19:58:36.390 回答