0

私は Windows アプリケーション プログラミングに比較的慣れていません。C# の使用を開始しましたが、支援が必要です。顧客テーブル (データで満たされた) を持つ SQL データベースがあります。顧客追加ページを作成しました (新しい顧客を正常に追加し、それが重複した顧客ではないことを確認しました。現在、TB フィールドに基づいて顧客検索ページを作成しようとしています。名、姓、電話番号、または電子メール アドレスで検索できることを確認すると、これらのフィールドのいずれかまたはすべてがデータベース テーブルにクエリを実行し、データを別のフォームまたは同じフォームの下のデータグリッドに返します。これまでに見つかったデータベースから自動的にデータを取得し続け、それを TB フィールドに入力しますが、これは私が望んでいるものではありません。最初の画像に見られるように

SQLテーブルは次のとおりです

customerID    int PK,
trackingID    int FK,
barterID      int FK,
firstName     varchar(50),
lastName      varchar(50),
address1      varchar(75),
address2      varchar(75),
city          varchar(50),
st            varchar(25),
zip           varchar(10),
contactNumber varchar(15),
contactNumber2 varchar(15),
email         varchar(50),
username      varchar(50),
pwd           varchar(50),
customerSince datetime2(7),
lastVisit     datetime2(7),
company       varchar(50)

クエリ用に入力したコード

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;

namespace Trex
{
    public partial class CustomerSearch : Form
    {
        public CustomerSearch()
        {
            InitializeComponent();
        }

        private void customersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.customersBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.trexDataSet1);

        }

        private void customersBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
        {
            this.Validate();
            this.customersBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.trexDataSet1);

        }

        private void customersBindingNavigatorSaveItem_Click_2(object sender, EventArgs e)
        {
            this.Validate();
            this.customersBindingSource.EndEdit();
            this.tableAdapterManager.UpdateAll(this.trexDataSet1);

        }

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

        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < this.Controls.Count; i++)
            {
                if (this.Controls[i] is TextBox)
                {
                    this.Controls[i].Text = "";
                }
            }
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Hide();
        }

        private void firstNameTextBox_TextChanged(object sender, EventArgs e)
        {

        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            System.Data.SqlClient.SqlConnection sqlConnection1 = new System.Data.SqlClient.SqlConnection(@"Data Source=VISIONSWS-PC;Initial Catalog=Trex;Persist Security Info=True;User ID=sa;Password=password");
            System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
            cmd.CommandType = System.Data.CommandType.Text;

            cmd.CommandText = "SELECT * FROM customers WHERE (firstName = @tbFirstName) and (lastName = @tbLastName)";
            cmd.Connection = sqlConnection1;

            sqlConnection1.Open();
            cmd.EndExecuteReader();
            sqlConnection1.Close();
        }
    }
}

最初の 2 つのテキスト ボックスだけを試してみましたが、他の 2 つのテキスト ボックスは、正しいコードと他の検索基準を入力すれば、簡単に追加できると確信しています。また、ここにはまだ画像を投稿できないと思います(十分な担当者がいません)

4

0 に答える 0