2013-08-19 48 views
0

大家好我是新來的C#世界&的Visual Studio 2012 .....我已經創建了一個MySQL的&數據庫中創建多個用戶具有不同的權限只有數據庫的服務器。我想用WPF創建一個登錄GUI,它將允許我在MySql服務器中創建的任何用戶登錄。這可能沒有寫代碼中的所有用戶名和密碼的連接字符串? 任何幫助將不勝感激。WPF登錄GUI的MySQL服務器

回答

0

這應該沒問題。你只需要提供用戶兩個文本框輸入他們的用戶名密碼在後面的代碼(或更好地通過MVVM模式)生成連接字符串

+0

謝謝,但我不知道該怎麼做,因爲我是一個新手。 – user2696974

0

首先,你需要一個方法,你可以調用輕鬆建立一個連接 字符串爲用戶。這基本上歸結爲將用戶提供的用戶名和密碼 嵌入到字符串中。請記住,用戶可以選擇任何 字符,包括;它保留在連接字符串「language」中。 我勸你看看這兩個網站:

http://www.connectionstrings.com/formating-rules-for-connection-strings/ http://www.connectionstrings.com/mysql/

聽到你應該如何格式化字符串的概述。我將簡單地替換 ;「;」,這是轉義的正確方法字符;

class ConnectionStrings 
{ 
    private static string SERVER_ADDRESS = "127.0.0.1"; 
    private static string DATABASE = "mydb"; 

    private static string EscapeConnectionStringValue(string value) 
    { 
     return value.Replace(";", "\";\""); 
    } 

    public static string GetConnectionString(string username, string password) 
    { 
     var escapedUsername = EscapeConnectionStringValue(username); 
     var escapedPassword = EscapeConnectionStringValue(password); 
     var connectionString = string.Format("Server={0};Database={1};Uid={2};Pwd={3};", SERVER_ADDRESS, DATABASE, escapedUsername, escapedPassword); 

     return connectionString; 
    } 
} 

如果這是一個WPF應用程序,只需在Visual Studio中, 創建這樣的項目類型和更改文件MainWindow.xaml使得窗口元素包含像的StackPanel元素下列。做不是改變窗口元素本身。

<Window !!!don't change anything inside the Window Element!!!> 
    <StackPanel> 
     <TextBox Name="username"></TextBox> 
     <PasswordBox Name="password"></PasswordBox> 
     <Button Name="login" Click="login_Click">Login</Button> 
    </StackPanel> 
</Window> 

最後,改變文件MainWindow.xaml.cs以便它包含的是,當用戶點擊登錄按鈕 將要執行的代碼。

private void login_Click(object sender, RoutedEventArgs e) 
{ 
    var connectionString = ConnectionStrings.GetConnectionString(username.Text, password.Password); 
    MessageBox.Show(connectionString); 
} 

在這種情況下,我只是說明含剛剛建立的連接字符串一個消息。

+0

這非常有用,非常感謝你,我非常感謝你,今天我會放棄它。 – user2696974

相關問題