Browse Source

SQL设置页面完成

master
忱 沈 2 years ago
parent
commit
6a46c0a1e2
  1. 21
      Login.xaml.cs
  2. 2
      MainWindow.xaml.cs
  3. 6
      Windows/Sql.xaml
  4. 49
      Windows/Sql.xaml.cs

21
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);

2
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)
{

6
Windows/Sql.xaml

@ -36,6 +36,12 @@
<TextBlock HorizontalAlignment="Left" Height="20" Margin="20,250,0,0" TextWrapping="Wrap" Text="数据库:" VerticalAlignment="Top" Width="60" FontSize="16"/>
<TextBlock HorizontalAlignment="Left" Height="20" Margin="20,280,0,0" TextWrapping="Wrap" Text="登录名:" VerticalAlignment="Top" Width="60" FontSize="16"/>
<TextBlock HorizontalAlignment="Left" Height="20" Margin="20,310,0,0" TextWrapping="Wrap" Text="密码:" VerticalAlignment="Top" Width="60" FontSize="16"/>
<Viewbox x:Name="Wait_sql" HorizontalAlignment="Left" Height="435" Margin="0,0,0,0" VerticalAlignment="Top" Width="280" Opacity="0.8" Visibility="Hidden">
<Grid Background="#FFA4A4A4" Width="280" Height="435" >
<TextBlock Height="35" Margin="0,190,0,0" TextWrapping="Wrap" Text="数据库连接中" Width="180" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="Black"/>
<TextBlock Height="35" Margin="0,230,0,0" TextWrapping="Wrap" Text="请稍后" Width="90" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="Black"/>
</Grid>
</Viewbox>
</Grid>
</Window>

49
Windows/Sql.xaml.cs

@ -99,11 +99,13 @@ 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;
Wait_sql.Visibility = Visibility.Visible;//显示遮罩
try
{
if (TEXT_SQMOD.Text == "Windows 身份认证") //连接数据库测试
{
Connstr_SC = "server=" + TEXT_SQLIP.Text + ";database=" + TEXT_SQLNAME.Text + ";Trusted_Connection=SSPI";
@ -114,7 +116,7 @@ namespace formula_manage.Windows
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);
conn_SC.Open();
await conn_SC.OpenAsync(); //连接数据库
conn_SC.Close();
if (TEXT_SQLINK.IsChecked.GetValueOrDefault()) //连接数据库2测试
@ -129,11 +131,48 @@ namespace formula_manage.Windows
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);
conn_DBC.Open();
await conn_DBC.OpenAsync(); //连接数据库
conn_DBC.Close();
}
}
catch (Exception)
{
Wait_sql.Visibility = Visibility.Hidden; //关闭遮罩
System.Windows.MessageBox.Show("数据库连接成功");
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)

Loading…
Cancel
Save