Новое достижение открыто. Достучались до базы

This commit is contained in:
klavirshik 2024-09-03 02:36:03 +02:00
parent 0c446bbcfb
commit 60fa5005aa
4 changed files with 132 additions and 58 deletions

View File

@ -483,6 +483,7 @@
// //
// tb_comp // tb_comp
// //
this.tb_comp.BackColor = System.Drawing.SystemColors.Window;
this.tb_comp.Location = new System.Drawing.Point(67, 11); this.tb_comp.Location = new System.Drawing.Point(67, 11);
this.tb_comp.Name = "tb_comp"; this.tb_comp.Name = "tb_comp";
this.tb_comp.Size = new System.Drawing.Size(210, 20); this.tb_comp.Size = new System.Drawing.Size(210, 20);

View File

@ -32,28 +32,10 @@ namespace Reseter2
private ListBox ListComp; private ListBox ListComp;
private IComp CompSelected = null; private IComp CompSelected = null;
private int PreSelected = -1; private int PreSelected = -1;
private bool StopRefreshSeacher = false;
public Form1() public Form1()
{ {
//BinaryFormatter binaryFormatter = new BinaryFormatter();
//FileStream file = new FileStream("res.dat", FileMode.OpenOrCreate);
//try
//{
//HistoryList.Hitem = (List<HistoryItem>)binaryFormatter.Deserialize(file);
//file.Close();
//file.Dispose();
//}
//catch
//{
// file.Close();
// file.Dispose();
// MessageBox.Show("Ошибка чтения конфигурационных файлов.\n Перезапустите программу.", "Критическая ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
// this.Close();
//}
SGlobalSetting.LoadSetting(); SGlobalSetting.LoadSetting();
@ -63,8 +45,10 @@ namespace Reseter2
ListComp.GotFocus += tb_comp_Enter; ListComp.GotFocus += tb_comp_Enter;
ListComp.DrawMode = DrawMode.OwnerDrawFixed; ListComp.DrawMode = DrawMode.OwnerDrawFixed;
ListComp.DrawItem += ListComp_DrawItem; ListComp.DrawItem += ListComp_DrawItem;
ListComp.KeyDown += tb_comp_KeyDown;
//ListComp.SetSelected(1,true); //ListComp.SetSelected(1,true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
InitializeComponent(); InitializeComponent();
this.Save += settingWordsControl1.Save; this.Save += settingWordsControl1.Save;
this.Save += settingSCCMControl1.Save; this.Save += settingSCCMControl1.Save;
@ -76,7 +60,7 @@ namespace Reseter2
this.settingWordsControl1.UpdateTree = UpdateTree; this.settingWordsControl1.UpdateTree = UpdateTree;
ListComp.SelectionMode = SelectionMode.One;
ListComp.Location = new Point(tb_comp.Location.X, tb_comp.Location.Y + tb_comp.Height); ListComp.Location = new Point(tb_comp.Location.X, tb_comp.Location.Y + tb_comp.Height);
ListComp.Width = tb_comp.Width; ListComp.Width = tb_comp.Width;
ListComp.Visible = false; ListComp.Visible = false;
@ -84,6 +68,7 @@ namespace Reseter2
ListComp.Items.Add("Введите запрос"); ListComp.Items.Add("Введите запрос");
ListComp.SelectedIndexChanged += ListComp_ChangeIndex; ListComp.SelectedIndexChanged += ListComp_ChangeIndex;
ListComp.Enabled = false; ListComp.Enabled = false;
//tb_comp.Controls.Add(ListComp); //tb_comp.Controls.Add(ListComp);
@ -116,13 +101,19 @@ namespace Reseter2
{ {
if (CompSelected == null) if (CompSelected == null)
{ {
DialogResult result = MessageBox.Show("Перезагрузить ПК: " + tb_comp.Text, "Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); DialogResult result = MessageBox.Show("Перезагрузить ПК: " + tb_comp.Text.Trim(), "Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
Reseter.AddTask(tb_comp.Text); Reseter.AddTask(tb_comp.Text.Trim());
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
ListComp.SelectedIndex = -1; ListComp.SelectedIndex = -1;
StopRefreshSeacher = true;
tb_comp.Text = ""; tb_comp.Text = "";
ListComp.Items.Clear();
ListComp.Items.Add("Введите запрос");
ListComp.Height = ListComp.ItemHeight * 2;
StopRefreshSeacher = false;
ListComp.Visible = false;
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
} }
@ -135,7 +126,13 @@ namespace Reseter2
Reseter.AddTask(CompSelected); Reseter.AddTask(CompSelected);
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
ListComp.SelectedIndex = -1; ListComp.SelectedIndex = -1;
StopRefreshSeacher = true;
tb_comp.Text = ""; tb_comp.Text = "";
ListComp.Items.Clear();
ListComp.Items.Add("Введите запрос");
ListComp.Height = ListComp.ItemHeight * 2;
StopRefreshSeacher = false;
ListComp.Visible = false;
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
} }
} }
@ -547,12 +544,13 @@ namespace Reseter2
private void cb_comp_TextUpdate(object sender, EventArgs e) private void cb_comp_TextUpdate(object sender, EventArgs e)
{ {
Cursor.Current = Cursors.Default; //Cursor.Current = Cursors.Default;
if (sender is TextBox) if (sender is TextBox && !StopRefreshSeacher)
{ {
TextBox textBox = (TextBox)sender; TextBox textBox = (TextBox)sender;
SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, textBox.Text); SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, textBox.Text);
CompSelected = null; CompSelected = null;
ListComp.Visible = true;
} }
} }
@ -582,27 +580,52 @@ namespace Reseter2
private void ListComp_ChangeIndex(object sender, EventArgs e) private void ListComp_ChangeIndex(object sender, EventArgs e)
{ {
CompSelected = SSeaher.seaherMetod.Result(ListComp.SelectedIndex); if(ListComp.SelectedIndex < 0)
tb_comp.Text = ListComp.SelectedItem.ToString(); {
CompSelected = null;
}
else
{
CompSelected = SSeaher.seaherMetod.Result(ListComp.SelectedIndex);
PreSelected = ListComp.SelectedIndex;
// Console.WriteLine(ListComp.SelectedItem.ToString());
StopRefreshSeacher = true;
tb_comp.Text = ListComp.SelectedItem.ToString();
StopRefreshSeacher = false;
ListComp.Refresh();
}
} }
private void ListComp_DrawItem(object sender, DrawItemEventArgs e) private void ListComp_DrawItem(object sender, DrawItemEventArgs e)
{ {
if(e.Index != -1) {
if (e.Index != -1) {
if(e.Index == PreSelected) if(e.Index == PreSelected)
{ {
e.Graphics.FillRectangle(Brushes.LightGray, e.Bounds); e.Graphics.FillRectangle(Brushes.LightGray, e.Bounds);
} }
else
{
e.Graphics.FillRectangle(Brushes.White, e.Bounds);
}
//if(MouseButtons == MouseButtons.Left && e.Bounds.Contains(ListComp.PointToClient(MousePosition)))
if(e.Index == ListComp.SelectedIndex) if(e.Index == ListComp.SelectedIndex)
{ {
e.Graphics.FillRectangle(Brushes.LightBlue, e.Bounds); e.Graphics.FillRectangle(Brushes.DodgerBlue, e.Bounds);
e.Graphics.DrawString(ListComp.Items[e.Index].ToString(), e.Font, Brushes.White, e.Bounds.Location);
} }
e.Graphics.DrawString(ListComp.Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds.Location); else
{
e.Graphics.DrawString(ListComp.Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds.Location);
}
} }
} }
protected override void WndProc(ref Message m) protected override void WndProc(ref Message m)
@ -622,26 +645,38 @@ namespace Reseter2
private void tb_comp_KeyDown(object sender, KeyEventArgs e) private void tb_comp_KeyDown(object sender, KeyEventArgs e)
{ {
Console.WriteLine(e.KeyValue.ToString());
switch (e.KeyValue) switch (e.KeyValue)
{ {
case 40: case 40:
if(PreSelected < ListComp.Items.Count-1) ++PreSelected; if(PreSelected < ListComp.Items.Count - 1)
{
++PreSelected;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
ListComp.Refresh(); ListComp.Refresh();
break; break;
case 38: case 38:
if (PreSelected > 0) --PreSelected; if (PreSelected > 0)
{
--PreSelected;
}
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
ListComp.Refresh(); ListComp.Refresh();
break; break;
case 13: case 13:
if(PreSelected == ListComp.SelectedIndex)
{
bt_reset_Click(null, null);
break;
}
if (PreSelected >= 0) if (PreSelected >= 0)
{ {
ListComp.SelectedIndex = PreSelected; ListComp.SelectedIndex = PreSelected;
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
ListComp.Refresh(); ListComp.Refresh();
} }
break; break;
} }

View File

@ -131,7 +131,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACk ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACk
UQAAAk1TRnQBSQFMAgEBCQEAAagBBgGoAQYBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg UQAAAk1TRnQBSQFMAgEBCQEAAbABBgGwAQYBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg
AwABSAMAAQEBAAEQBgABNhIAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/ AwABSAMAAQEBAAEQBgABNhIAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/kAAB/wF/ AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/kAAB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
@ -490,7 +490,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABQ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABQ
CgAAAk1TRnQBSQFMAgEBAwEAAUgBBQFIAQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CgAAAk1TRnQBSQFMAgEBAwEAAVABBQFQAQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -6,6 +6,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
using System.Reflection;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
@ -17,8 +18,10 @@ namespace Reseter2.Seacher
{ {
private MySql.Data.MySqlClient.MySqlConnection Connection; private MySql.Data.MySqlClient.MySqlConnection Connection;
private IAuthType AuthType; private IAuthType AuthType;
private List<IComp> comps = new List<IComp>();
private ResultUpdate Update; private ResultUpdate Update;
private bool enable; private bool enable;
private string error;
public SeachSCCM() public SeachSCCM()
{ {
if (SGlobalSetting.settingSCCM.windowsAuth) if (SGlobalSetting.settingSCCM.windowsAuth)
@ -35,40 +38,73 @@ namespace Reseter2.Seacher
{ {
Activate(); Activate();
Update = sender; Update = sender;
if (seach.Length > 2) if (Connection.State == ConnectionState.Open)
{ {
if (seach.Length > 2)
{
Update(ResultSeach(seach), enable); Update(ResultSeach(seach), enable);
}
else
{
List<string> result = new List<string>();
result.Add("Введите запрос, к бд подключенно");
Update(result, false);
}
} }
else else
{ {
List<string> result = new List<string>(); List<string> result = new List<string>();
result.Add("Введите запрос"); result.Add(error);
Update(result, false); Update(result, false);
} }
} }
public List<string> ResultSeach(string seach) public List<string> ResultSeach(string seach)
{ {
if(Connection != null) int y = 0;
comps.Clear();
List<string> result = new List<string>();
if (Connection.State == ConnectionState.Open)
{ {
string sql = "SELECT * FROM " + SGlobalSetting.settingSCCM.dataBase + " WHERE pcname LIKE " + seach; try
MySqlCommand sqlCom = new MySqlCommand(sql, Connection); {
// Connection.Open(); string sql = "SELECT * FROM " + SGlobalSetting.settingSCCM.dataBase + " WHERE pcname LIKE '%" + seach + "%'";
sqlCom.ExecuteNonQuery(); MySqlCommand sqlCom = new MySqlCommand(sql, Connection);
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sqlCom); // Connection.Open();
DataTable dt = new DataTable(); sqlCom.ExecuteNonQuery();
dataAdapter.Fill(dt); MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sqlCom);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
var myData = dt.Select(); DataRow[] myData = dt.Select();
//for (int i = 0; i < myData.Length; i++) for (int i = 0; i < myData.Length; i++)
//{ {
// for (int j = 0; j < myData[i].ItemArray.Length; j++) IComp comp = new CompId(myData[i].ItemArray[1].ToString());
// richTextBox1.Text += myData[i].ItemArray[j] + " "; comp.SetName(myData[i].ItemArray[2].ToString());
// richTextBox1.Text += "\n"; comps.Add(comp);
//} result.Add(comp.GetName() + "(" + comp.GetNetNameStr() + ")");
++y;
}
enable = true;
}
catch
{
y = 1;
enable = false;
result.Clear();
result.Add("Ошибка выполнения запроса");
}
}
if (y == 0)
{
enable = false;
result.Add("Ничего не найдено");
} }
return null; return result;
} }
public void Activate() public void Activate()
{ {
@ -80,10 +116,12 @@ namespace Reseter2.Seacher
Connection = new MySql.Data.MySqlClient.MySqlConnection(stringConnect); Connection = new MySql.Data.MySqlClient.MySqlConnection(stringConnect);
Connection.Open(); Connection.Open();
Console.WriteLine("Подключились"); Console.WriteLine("Подключились");
error = "Подключенно";
} }
catch catch
{ {
Console.WriteLine("Повторное бы подключение"); Console.WriteLine("Повторное бы подключение");
error = "Не удалось подключиться к базе";
} }
} }
@ -95,9 +133,9 @@ namespace Reseter2.Seacher
Connection = null; Connection = null;
} }
public IComp Result(int Index) public IComp Result(int index)
{ {
return null; return comps[index];
} }
} }
} }