using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Data.SqlClient; using System.Net.NetworkInformation; using System.Runtime.InteropServices; using System.ComponentModel; using System.Data.SqlTypes; namespace formula_manage.Windows { /// /// Sql.xaml 的交互逻辑 /// public partial class Sql : Window { public Sql() { WindowStartupLocation = WindowStartupLocation.CenterScreen; InitializeComponent(); } int SQL_MOD; int SQL_MOD1; int i; bool SQL2; public string INIPath = Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "formula.ini"; private void Window_SQL(object sender, RoutedEventArgs e) { UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); TEXT_SQLIP.Text = Configini.IniReadvalue("SQL_SERVER", "SQL1"); //读配置文件 TEXT_SQLNAME.Text = Configini.IniReadvalue("SQL_SERVER", "SQL2"); TEXT_SQMOD.Text = Configini.IniReadvalue("SQL_SERVER", "SQL3"); TEXT_SQLUSER.Text = Configini.IniReadvalue("SQL_SERVER", "SQL4"); TEXT_SQLPASWORD.Text = Configini.IniReadvalue("SQL_SERVER", "SQL5"); SQL2 = Boolean.Parse(Configini.IniReadvalue("SQL_SERVER", "SQL6")); //数据库对象2是否生效 TEXT_SQLIP2.Text = Configini.IniReadvalue("SQL_SERVER", "SQL7"); TEXT_SQLNAME2.Text = Configini.IniReadvalue("SQL_SERVER", "SQL8"); TEXT_SQMOD2.Text = Configini.IniReadvalue("SQL_SERVER", "SQL9"); TEXT_SQLUSER2.Text = Configini.IniReadvalue("SQL_SERVER", "SQL10"); TEXT_SQLPASWORD2.Text = Configini.IniReadvalue("SQL_SERVER", "SQL11"); TEXT_SQLINK.IsChecked = SQL2; //数据库对象2控件属性是否生效 TEXT_SQLIP2.IsEnabled = SQL2; TEXT_SQLNAME2.IsEnabled = SQL2; TEXT_SQMOD2.IsEnabled = SQL2; TEXT_SQLUSER2.IsEnabled = SQL2; TEXT_SQLPASWORD2.IsEnabled = SQL2; int.TryParse(Configini.IniReadvalue("SQL_SERVER", "SQL3"), out i); //读数据库状态配置文件 if (i == 0) TEXT_SQMOD.Text = "Windows 身份认证"; else TEXT_SQMOD.Text = "SQL SERVER 身份认证"; int.TryParse(Configini.IniReadvalue("SQL_SERVER", "SQL9"), out i); if (i == 0) TEXT_SQMOD2.Text = "Windows 身份认证"; else TEXT_SQMOD2.Text = "SQL SERVER 身份认证"; } private void Button_Click(object sender, RoutedEventArgs e) { if (TEXT_SQMOD.Text == "Windows 身份认证") SQL_MOD = 0; else SQL_MOD = 1; if (TEXT_SQMOD2.Text == "Windows 身份认证") SQL_MOD1 = 0; else SQL_MOD1 = 1; SQL2 = TEXT_SQLINK.IsChecked.GetValueOrDefault(); //数据库对象2是否生效 UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); //配置文件 Configini.IniWritevalue("SQL_SERVER", "SQL1", TEXT_SQLIP.Text); //保存的配置 Configini.IniWritevalue("SQL_SERVER", "SQL2", TEXT_SQLNAME.Text); Configini.IniWritevalue("SQL_SERVER", "SQL3", SQL_MOD.ToString()); Configini.IniWritevalue("SQL_SERVER", "SQL4", TEXT_SQLUSER.Text); Configini.IniWritevalue("SQL_SERVER", "SQL5", TEXT_SQLPASWORD.Text); Configini.IniWritevalue("SQL_SERVER", "SQL6", SQL2.ToString()); if (SQL2) //数据库对象2生效则保存对象2配置 { Configini.IniWritevalue("SQL_SERVER", "SQL7", TEXT_SQLIP2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL8", TEXT_SQLNAME2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL9", SQL_MOD1.ToString()); Configini.IniWritevalue("SQL_SERVER", "SQL10", TEXT_SQLUSER2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL11", TEXT_SQLPASWORD2.Text); } System.Windows.MessageBox.Show("保存完成"); this.Close(); //退出窗口 } private async void Button_Click_1(object sender, RoutedEventArgs e) { string Connstr_SC; string Connstr_DBC; Wait_sql.Visibility = Visibility.Visible;//显示遮罩 try { if (TEXT_SQMOD.Text == "Windows 身份认证") //连接数据库测试 { Connstr_SC = "server=" + TEXT_SQLIP.Text + ";database=" + TEXT_SQLNAME.Text + ";Trusted_Connection=SSPI"; } else { Connstr_SC = "server=" + TEXT_SQLIP.Text + ";database=" + TEXT_SQLNAME.Text + ";User ID=" + TEXT_SQLUSER.Text + ";Password=" + TEXT_SQLPASWORD.Text; } SqlConnection conn_SC = new SqlConnection(Connstr_SC); await conn_SC.OpenAsync(); //连接数据库 conn_SC.Close(); if (TEXT_SQLINK.IsChecked.GetValueOrDefault()) //连接数据库2测试 { if (TEXT_SQMOD2.Text == "Windows 身份认证") { Connstr_DBC = "server=" + TEXT_SQLIP2.Text + ";database=" + TEXT_SQLNAME2.Text + ";Trusted_Connection=SSPI"; } else { Connstr_DBC = "server=" + TEXT_SQLIP2.Text + ";database=" + TEXT_SQLNAME2.Text + ";User ID=" + TEXT_SQLUSER2.Text + ";Password=" + TEXT_SQLPASWORD2.Text; } SqlConnection conn_DBC = new SqlConnection(Connstr_DBC); await conn_DBC.OpenAsync(); //连接数据库 conn_DBC.Close(); } } catch (Exception) { Wait_sql.Visibility = Visibility.Hidden; //关闭遮罩 System.Windows.MessageBox.Show("连接错误", "ERR", MessageBoxButton.OK, MessageBoxImage.Exclamation); //连接失败提示 return; } Wait_sql.Visibility = Visibility.Hidden; //关闭遮罩 MessageBoxResult SqlShow = System.Windows.MessageBox.Show("数据库连接成功是否保存配置", "SQL", MessageBoxButton.YesNo, MessageBoxImage.Information); //连接成功提示是否保存 if (SqlShow == MessageBoxResult.Yes) { if (TEXT_SQMOD.Text == "Windows 身份认证") SQL_MOD = 0; else SQL_MOD = 1; if (TEXT_SQMOD2.Text == "Windows 身份认证") SQL_MOD1 = 0; else SQL_MOD1 = 1; SQL2 = TEXT_SQLINK.IsChecked.GetValueOrDefault(); //数据库对象2是否生效 UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); //配置文件 Configini.IniWritevalue("SQL_SERVER", "SQL1", TEXT_SQLIP.Text); //保存的配置 Configini.IniWritevalue("SQL_SERVER", "SQL2", TEXT_SQLNAME.Text); Configini.IniWritevalue("SQL_SERVER", "SQL3", SQL_MOD.ToString()); Configini.IniWritevalue("SQL_SERVER", "SQL4", TEXT_SQLUSER.Text); Configini.IniWritevalue("SQL_SERVER", "SQL5", TEXT_SQLPASWORD.Text); Configini.IniWritevalue("SQL_SERVER", "SQL6", SQL2.ToString()); if (SQL2) //数据库对象2生效则保存对象2配置 { Configini.IniWritevalue("SQL_SERVER", "SQL7", TEXT_SQLIP2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL8", TEXT_SQLNAME2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL9", SQL_MOD1.ToString()); Configini.IniWritevalue("SQL_SERVER", "SQL10", TEXT_SQLUSER2.Text); Configini.IniWritevalue("SQL_SERVER", "SQL11", TEXT_SQLPASWORD2.Text); } System.Windows.MessageBox.Show("保存完成"); this.Close(); //退出窗口 } } private void TEXT_SQLINK_Checked(object sender, RoutedEventArgs e) { SQL2 = TEXT_SQLINK.IsChecked.GetValueOrDefault(); //数据库对象2是否生效 TEXT_SQLIP2.IsEnabled = SQL2; //数据库对象2控件属性 TEXT_SQLNAME2.IsEnabled = SQL2; TEXT_SQMOD2.IsEnabled = SQL2; TEXT_SQLUSER2.IsEnabled = SQL2; TEXT_SQLPASWORD2.IsEnabled = SQL2; } } }