diff --git a/Windows/Sql.xaml b/Windows/Sql.xaml index cfac13f..9a7dd6a 100644 --- a/Windows/Sql.xaml +++ b/Windows/Sql.xaml @@ -7,19 +7,19 @@ mc:Ignorable="d" Title="Sql" Loaded="Window_SQL" Height="450" Width="248" MaxHeight="450" MaxWidth="248" ResizeMode="NoResize"> - + - - - + + + - - - - + + + + diff --git a/Windows/Sql.xaml.cs b/Windows/Sql.xaml.cs index 569affa..746e501 100644 --- a/Windows/Sql.xaml.cs +++ b/Windows/Sql.xaml.cs @@ -12,6 +12,8 @@ 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; namespace formula_manage.Windows { @@ -20,20 +22,101 @@ namespace formula_manage.Windows /// public partial class Sql : Window { + public class IniFiles + { + public string path; + [DllImport("kernel32")] //返回0表示失败,非0为成功 + private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); + [DllImport("kernel32")] //返回取得字符串缓冲区的长度 + private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); + /// + /// 保存ini文件的路径 + /// 调用示例:var ini = IniFiles("C:\file.ini"); + /// + /// + public IniFiles(string iniPath) + { + this.path = iniPath; + } + /// + /// 写Ini文件 + /// 调用示例:ini.IniWritevalue("Server","name","localhost"); + /// + /// [缓冲区] + /// 键 + /// 值 + public void IniWritevalue(string Section, string Key, string value) + { + WritePrivateProfileString(Section, Key, value, this.path); + } + /// + /// 读Ini文件 + /// 调用示例:ini.IniWritevalue("Server","name"); + /// + /// [缓冲区] + /// 键 + /// + public string IniReadvalue(string Section, string Key) + { + StringBuilder temp = new StringBuilder(255); + + int i = GetPrivateProfileString(Section, Key, "", temp, 255, this.path); + return temp.ToString(); + } + + } public Sql() { WindowStartupLocation = WindowStartupLocation.CenterScreen; InitializeComponent(); } + string SQL_IP1; + string SQL_MOD1; + string SQL_NAME1; + string SQL_USER1; + string SQL_PASWORD1; + string SQL_LINK; + string SQL_IP2; + string SQL_MOD2; + string SQL_NAME2; + string SQL_USER2; + string SQL_PASWORD2; + + public string INIPath = Convert.ToString(System.AppDomain.CurrentDomain.BaseDirectory) + "formula.ini"; + private void Window_SQL(object sender, RoutedEventArgs e) { + IniFiles Configini = new IniFiles(INIPath); + SQL_IP1 = Configini.IniReadvalue("SQL_SERVER", "SQL1"); + SQL_MOD1 = Configini.IniReadvalue("SQL_SERVER", "SQL2"); + SQL_NAME1 = Configini.IniReadvalue("SQL_SERVER", "SQL3"); + SQL_USER1 = Configini.IniReadvalue("SQL_SERVER", "SQL4"); + SQL_PASWORD1 = Configini.IniReadvalue("SQL_SERVER", "SQL5"); + SQL_LINK = Configini.IniReadvalue("SQL_SERVER", "SQL6"); + SQL_IP2 = Configini.IniReadvalue("SQL_SERVER", "SQL7"); + SQL_MOD2 = Configini.IniReadvalue("SQL_SERVER", "SQL8"); + SQL_NAME2 = Configini.IniReadvalue("SQL_SERVER", "SQL9"); + SQL_USER2 = Configini.IniReadvalue("SQL_SERVER", "SQL10"); + SQL_PASWORD2 = Configini.IniReadvalue("SQL_SERVER", "SQL11"); } private void Button_Click(object sender, RoutedEventArgs e) { - + IniFiles Configini = new IniFiles(INIPath); + Configini.IniWritevalue("SQL_SERVER", "SQL1", SQL_IP1); + Configini.IniWritevalue("SQL_SERVER", "SQL2", SQL_MOD1); + Configini.IniWritevalue("SQL_SERVER", "SQL3", SQL_NAME1); + Configini.IniWritevalue("SQL_SERVER", "SQL4", SQL_USER1); + Configini.IniWritevalue("SQL_SERVER", "SQL5", SQL_PASWORD1); + Configini.IniWritevalue("SQL_SERVER", "SQL6", SQL_LINK); + Configini.IniWritevalue("SQL_SERVER", "SQL7", SQL_IP2); + Configini.IniWritevalue("SQL_SERVER", "SQL8", SQL_MOD2); + Configini.IniWritevalue("SQL_SERVER", "SQL9", SQL_NAME2); + Configini.IniWritevalue("SQL_SERVER", "SQL10", SQL_USER2); + Configini.IniWritevalue("SQL_SERVER", "SQL11", SQL_PASWORD2); + System.Windows.MessageBox.Show("保存完成"); } private void Button_Click_1(object sender, RoutedEventArgs e)