FormPoisk.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. namespace СУБД_Швейная_фабрика
  12. {
  13. public partial class FormPoisk : Form
  14. {
  15. public FormPoisk()
  16. {
  17. InitializeComponent();
  18. }
  19. static int Poisk(string t1, string t2)
  20. {
  21. int CntLev = Math.Abs(t1.Length - t2.Length);
  22. // перебор до последнего символа более короткой строки
  23. for (int i = 0; i <= Math.Min(t1.Length, t2.Length) - 1; i++)
  24. {
  25. if (t1[i] != t2[i])
  26. CntLev++;
  27. }
  28. return CntLev;
  29. }
  30. List<string> LstTkani = new List<string>();
  31. private void FormPoisk_Load(object sender, EventArgs e)
  32. {
  33. SqlConnection con = new SqlConnection(Properties.Settings.Default.FabricDeryugoConnectionString);
  34. con.Open();
  35. string TxtQuery = "select nametkan from Tkani";
  36. SqlCommand query1 = new SqlCommand(TxtQuery, con);
  37. // выполнить запрос
  38. SqlDataReader res = query1.ExecuteReader();
  39. while (res.Read())
  40. LstTkani.Add(res["nametkan"].ToString());
  41. con.Close();
  42. BtnShowAll_Click(sender, e);
  43. }
  44. private void BtnShowAll_Click(object sender, EventArgs e)
  45. {
  46. DgvTkani.Rows.Clear();
  47. foreach (string Tkan in LstTkani)
  48. DgvTkani.Rows.Add(Tkan);
  49. }
  50. private void BtnFind_Click(object sender, EventArgs e)
  51. {
  52. DgvTkani.Rows.Clear();
  53. foreach (string Tkan in LstTkani)
  54. if (Poisk(Tkan, TbxFind.Text) <= 3)
  55. DgvTkani.Rows.Add(Tkan);
  56. }
  57. }
  58. }