diff --git a/Login.xaml.cs b/Login.xaml.cs
index e76dcc1..a5fa800 100644
--- a/Login.xaml.cs
+++ b/Login.xaml.cs
@@ -15,6 +15,8 @@ using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Runtime.InteropServices;
using System.Data.SqlClient;
+using System.Data;
+using System.Security.Policy;
namespace formula_manage
{
@@ -67,7 +69,7 @@ namespace formula_manage
string TEXT_SQLUSER;
string TEXT_SQLPASWOR;
string Connstr_SC;
- private void Window_Loaded(object sender, RoutedEventArgs e)
+ private async void Window_Loaded(object sender, RoutedEventArgs e)
{
logon.IsEnabled = false; //关闭登录按钮
@@ -86,10 +88,21 @@ namespace formula_manage
Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";User ID=" + TEXT_SQLUSER + ";Password=" + TEXT_SQLPASWOR;
}
SqlConnection conn_SC = new SqlConnection(Connstr_SC);
- conn_SC.Open();
- // conn_SC.OpenAsync();
- conn_SC.Close();
+ // conn_SC.Open();
+ try
+ {
+ await conn_SC.OpenAsync();
+ }catch (Exception)
+ {
+ System.Windows.MessageBox.Show("连接数据库失败");
+
+ Windows.Sql sql = new Windows.Sql();
+ sql.ShowDialog();//实例化并置顶打开数据库设置窗口
+ return;
+ }
+
+ conn_SC.Close(); //关闭连接
logon.IsEnabled = true; //允许登录按钮
UserClass.PressKey.PressKeys(Keys.Tab, false);
diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs
index ce453e6..69e4a04 100644
--- a/MainWindow.xaml.cs
+++ b/MainWindow.xaml.cs
@@ -29,7 +29,7 @@ namespace formula_manage
private void SQL(object sender, RoutedEventArgs e)
{
Windows.Sql sql= new Windows.Sql();
- sql.ShowDialog();//实例化并置顶打开信息窗口
+ sql.ShowDialog();//实例化并置顶打开数据库设置窗口
}
private void HELP(object sender, RoutedEventArgs e)
{
diff --git a/Windows/Sql.xaml b/Windows/Sql.xaml
index c806df2..2e610e0 100644
--- a/Windows/Sql.xaml
+++ b/Windows/Sql.xaml
@@ -36,6 +36,12 @@
+
+
+
+
+
+
diff --git a/Windows/Sql.xaml.cs b/Windows/Sql.xaml.cs
index 873022b..154030b 100644
--- a/Windows/Sql.xaml.cs
+++ b/Windows/Sql.xaml.cs
@@ -99,41 +99,80 @@ namespace formula_manage.Windows
this.Close(); //退出窗口
}
- private void Button_Click_1(object sender, RoutedEventArgs e)
+ private async void Button_Click_1(object sender, RoutedEventArgs e)
{
string Connstr_SC;
string Connstr_DBC;
-
- if (TEXT_SQMOD.Text == "Windows 身份认证") //连接数据库测试
+ Wait_sql.Visibility = Visibility.Visible;//显示遮罩
+ try
{
- Connstr_SC = "server=" + TEXT_SQLIP.Text + ";database=" + TEXT_SQLNAME.Text + ";Trusted_Connection=SSPI";
+ 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();
+ }
}
- else
+ catch (Exception)
{
- Connstr_SC = "server=" + TEXT_SQLIP.Text + ";database=" + TEXT_SQLNAME.Text + ";User ID=" + TEXT_SQLUSER.Text + ";Password=" + TEXT_SQLPASWORD.Text;
+ Wait_sql.Visibility = Visibility.Hidden; //关闭遮罩
+
+ System.Windows.MessageBox.Show("连接错误", "ERR", MessageBoxButton.OK, MessageBoxImage.Exclamation); //连接失败提示
+ return;
}
- SqlConnection conn_SC = new SqlConnection(Connstr_SC);
- conn_SC.Open();
- 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";
+ Wait_sql.Visibility = Visibility.Hidden; //关闭遮罩
- }
- else
+ 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配置
{
- Connstr_DBC = "server=" + TEXT_SQLIP2.Text + ";database=" + TEXT_SQLNAME2.Text + ";User ID=" + TEXT_SQLUSER2.Text + ";Password=" + TEXT_SQLPASWORD2.Text;
+ 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);
}
- SqlConnection conn_DBC = new SqlConnection(Connstr_DBC);
- conn_DBC.Open();
- conn_DBC.Close();
+ System.Windows.MessageBox.Show("保存完成");
+ this.Close(); //退出窗口
}
-
- System.Windows.MessageBox.Show("数据库连接成功");
}
private void TEXT_SQLINK_Checked(object sender, RoutedEventArgs e)