Переделали коннектор подключения к базе добавили диспоз

This commit is contained in:
klavirshik 2024-09-05 01:32:40 +02:00
parent ab3a9dda50
commit be69295017
7 changed files with 19 additions and 46 deletions

View File

@ -51,7 +51,6 @@ namespace Reseter2
//ListComp.SetSelected(1,true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
InitializeComponent();
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
this.Save += settingWordsControl1.Save;
this.Save += settingSCCMControl1.Save;
this.Save += settingRebootControl1.Save;
@ -91,15 +90,6 @@ namespace Reseter2
tabControl1.SelectedIndex = 1;
}
Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
if (args.Name.Contains("MySql.Data.dll"))
{
return Assembly.Load(Reseter2.Properties.Resources.MySql_Data);
}
return null;
}
public void UpdateTree()
{
treeView1.Nodes.Clear();

View File

@ -59,15 +59,5 @@ namespace Reseter2.Properties {
resourceCulture = value;
}
}
/// <summary>
/// Поиск локализованного ресурса типа System.Byte[].
/// </summary>
internal static byte[] MySql_Data {
get {
object obj = ResourceManager.GetObject("MySql_Data", resourceCulture);
return ((byte[])(obj));
}
}
}
}

View File

@ -117,8 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="MySql_Data" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>MySql.Data.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -54,10 +54,6 @@
<ApplicationIcon>reseter.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="MySql.Data, Version=9.0.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>Properties\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.DirectoryServices" />

View File

@ -12,8 +12,6 @@ namespace Reseter2.Seacher
public void Change(ResultUpdate sender, string seach);
public IComp Result(int index);
public string ResultString(int index);
public void Activate();
public void Deactivate();
}
}

View File

@ -1,6 +1,4 @@
using MySql.Data.MySqlClient;
using MySqlX.XDevAPI.Common;
using MySqlX.XDevAPI.Relational;
using System.Data.SqlClient;
using Reseter2.SCCMsearch;
using Reseter2.Setting;
using System;
@ -11,22 +9,23 @@ using System.Reflection;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using static Reseter2.Seacher.SeahcLocal;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
using System.Threading;
namespace Reseter2.Seacher
{
internal class SeachSCCM : ISeaherMetod
{
private MySql.Data.MySqlClient.MySqlConnection Connection;
private SqlConnection Connection;
private IAuthType AuthType;
private List<IComp> comps = new List<IComp>();
private ResultUpdate Update;
private bool enable;
private string error;
private Mode mode;
private Timer TimerDisconnect;
private enum Mode{
PCname,
@ -123,10 +122,10 @@ namespace Reseter2.Seacher
try
{
string sql = QueryBilder(seach);
MySqlCommand sqlCom = new MySqlCommand(sql, Connection);
SqlCommand sqlCom = new SqlCommand(sql, Connection);
// Connection.Open();
sqlCom.ExecuteNonQuery();
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sqlCom);
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlCom);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
@ -156,8 +155,8 @@ namespace Reseter2.Seacher
enable = false;
result.Add("Ничего не найдено");
}
return result;
TimerDisconnect.Change(30000, 30000);
return result;
}
public void Activate()
{
@ -166,10 +165,12 @@ namespace Reseter2.Seacher
string stringConnect = "server=" + SGlobalSetting.settingSCCM.server + ";database=" + SGlobalSetting.settingSCCM.dataBase + ";" + AuthType.AuthString() + ";charset=utf8";
try
{
Connection = new MySql.Data.MySqlClient.MySqlConnection(stringConnect);
Connection = new SqlConnection(stringConnect);
Connection.Open();
Console.WriteLine("Подключились");
error = "Подключенно";
TimerCallback TimerDelegate = new TimerCallback(Deactivate);
TimerDisconnect = new Timer(TimerDelegate, null, 30000,30000);
}
catch
{
@ -180,10 +181,14 @@ namespace Reseter2.Seacher
}
public void Deactivate()
public void Deactivate(object obj)
{
Connection.Close();
Connection = null;
TimerDisconnect.Dispose();
List<string> result = new List<string>();
result.Add("Введите запрос");
Update(result, false, 14);
}
public IComp Result(int index)
@ -210,7 +215,7 @@ namespace Reseter2.Seacher
string stringConnect = "server=" + server + ";database=" + basa + ";" + AuthType.AuthString();
try
{
Connection = new MySql.Data.MySqlClient.MySqlConnection(stringConnect);
Connection = new SqlConnection(stringConnect);
Connection.Open();
error = "Подключенно";
}
@ -224,9 +229,9 @@ namespace Reseter2.Seacher
try
{
string sql = "SELECT * FROM dbo._RES_COLL_SMS00001 LIMIT 1";
MySqlCommand sqlCom = new MySqlCommand(sql, Connection);
SqlCommand sqlCom = new SqlCommand(sql, Connection);
sqlCom.ExecuteNonQuery();
MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sqlCom);
SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlCom);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);

View File

@ -82,7 +82,5 @@ namespace Reseter2.Seacher
}
return buf;
}
public void Activate() { }
public void Deactivate() { }
}
}