نمایش نتایج 1 تا 2 از 2

نام تاپیک: مشکل در مورد پیدا کردن رکورد ( search )

  1. #1

    مشکل در مورد پیدا کردن رکورد ( search )

    با سلام
    من از چند تا TextBox برای پر کردن رکورد ها استفاده کردم . با استفاده از دکمه های Next و ... کاربر به رکورد های بعدی می رود . همچنین برای جستجو هم از TextBox استفاده کردم . مشکل در پیدا کردن رکورد نیست بلکه اگر کاربر به رکورد خاصی با استفاده از جستجو دست یافت ، آن وقت دکمه های Next و Previous به درستی کار نمی کنند .

    private void btnSearch_Click(object sender, EventArgs e)
    {
    if (txtSearch.Text == "")
    {
    MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
    return;
    }
    GoToSpecificRec();
    txtSearch.Text = "";


    private void GoToSpecificRec()
    {

    try
    {
    if (txtSearch.Text != "")
    {
    string Selectection = "Select * from PersonalTbl where QabzID='" + Convert.ToInt32(txtSearch.Text) + "'";
    DataSet dsSearch = new DataSet();

    SqlDataAdapter daSearch = new SqlDataAdapter(Selectection, strConnection);
    daSearch.Fill(dsSearch, "PersonalTbl");
    Display(dsSearch);
    }
    else
    {
    MessageBox.Show("لطفا شماره قبض را تایپ نمایید", "توجه", MessageBoxButtons.OK, MessageBoxIcon.Information);
    return;
    }

    }
    catch (SqlException excep)
    {
    MessageBox.Show(excep.ToString());
    }
    }



    private void Display(DataSet ds)
    {
    try
    {
    DataTable dtSearch = new DataTable();
    dtSearch = ds.Tables["PersonalTbl"];
    if (dtSearch.Rows.Count != 0)
    {
    int RecNo = (int)dtSearch.Rows[0][0];
    txtQabzNo.Text = RecNo.ToString();

    txtPhoneModel.Text = (string)dtSearch.Rows[0][1];
    txtSerialPhone.Text = (string)dtSearch.Rows[0][2];
    txtBatterySerrial.Text = (string)dtSearch.Rows[0][3];
    txtWarranty.Text = (string)dtSearch.Rows[0][4];

    }
    else
    {
    MessageBox.Show("رکوردی یافت نشد");
    }
    }
    catch (SqlException ex)
    {
    MessageBox.Show(ex.ToString());
    }
    }

    و برای دکمه Next برای حرکت به رکورد بعدی داریم :

    if (this.bindingManager.Position < this.bindingManager.Count - 1)
    {
    this.bindingManager.Position += 1; //increment position by 1
    }

    برای سایر دکمه جهت بین رکورد ها مشابه مورد اخیر است

    متشکرم

  2. #2
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491
    کار نمیکنه چون برای دکمه Next، تکست باکسها را پر نمیکنید و فقط Position مربوط به bindingManager را به رکورد بعدی میبرید.

    اگر میخواهید که با تغییر خاصیت Postition، تکست باکسها هم به رکورد بعدی یا قبلی تغییر پیدا کنند، باید تکست باکسها را به dataSet متصل (Bind) کنید و dataSet بهتر است بصورت یک فیلد خصوصی در فرم تعریف شود تا درصورت فشردن دکمه Next، به همان dataSet دسترسی داشته باشد.

تاپیک های مشابه

  1. سورس برنامه Search
    نوشته شده توسط dasa در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 9
    آخرین پست: یک شنبه 13 آذر 1384, 17:42 عصر
  2. search
    نوشته شده توسط mahboobeh در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: شنبه 14 آبان 1384, 23:03 عصر
  3. search
    نوشته شده توسط PARIZAD در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: سه شنبه 03 آبان 1384, 13:20 عصر
  4. Search
    نوشته شده توسط nasimnastaran در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 14 شهریور 1384, 16:55 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •