FormLevenshtein.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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 FormLevenshtein : Form
  14. {
  15. public FormLevenshtein()
  16. {
  17. InitializeComponent();
  18. }
  19. static int Levenshtein(string t1, string t2)
  20. {
  21. int CntLev = Math.Abs(t1.Length - t2.Length);
  22. for (int i = 0; i <= Math.Min(t1.Length, t2.Length) - 1; i++)
  23. {
  24. if (t1[i] != t2[i])
  25. CntLev++;
  26. }
  27. return CntLev;
  28. }
  29. List<string> LstTkani = new List<string>();
  30. private void FormLevenshtein_Load(object sender, EventArgs e)
  31. {
  32. SqlConnection con = new SqlConnection(Properties.Settings.Default.dbFabrikaOAAConnectionString);
  33. con.Open();
  34. string TxtQuery = "select Title from Tkan";
  35. SqlCommand query1 = new SqlCommand(TxtQuery, con);
  36. SqlDataReader res = query1.ExecuteReader();
  37. while (res.Read())
  38. LstTkani.Add(res["Title"].ToString());
  39. con.Close();
  40. BtnShowAll_Click(sender, e);
  41. }
  42. private void BtnShowAll_Click(object sender, EventArgs e)
  43. {
  44. DgvTkani.Rows.Clear();
  45. foreach (string Tkan in LstTkani)
  46. DgvTkani.Rows.Add(Tkan);
  47. }
  48. private void BtnFind_Click(object sender, EventArgs e)
  49. {
  50. DgvTkani.Rows.Clear();
  51. foreach (string Tkan in LstTkani)
  52. if (Levenshtein(Tkan, TbxFind.Text) <= 3)
  53. DgvTkani.Rows.Add(Tkan);
  54. }
  55. }
  56. }