Как передать данные для входа между формами - PullRequest
0 голосов
/ 07 мая 2019

Я относительно новичок в этой области, и я работаю над простой формой приложения Windows, поэтому моя идея состоит в том, чтобы создать форму для входа в систему для пользователя, которая вызывается из основной формы, нажав кнопку «Войти».

Я хочу, чтобы эти данные для входа в систему хранились в таких переменных, как «userpass» и «username», чтобы я мог добавить их в строку для входа в систему и использовать их позже для подключения к серверу SQL, когда мне потребуется получить некоторые данные из базы данных.


Код формы входа

    SqlConnection con = new SqlConnection("Data 
    Source=server.database.windows.net;Initial Catalog=baza;Persist 
    Security Info=True;User ID=" + boxUsername.Text.ToString().Trim() + 
    ";Password=" + boxPass.Text.ToString().Trim() );
    con.Open();

    if (con != null && con.State == ConnectionState.Open)      
        {   Form1.username = boxUsername.Text.ToString();
            Form1.userpass = boxPass.Text.ToString();
             this.Hide();
        }
        else
        { MessageBox.Show("Incorrect username or password."); }

Код основной формы

    public static string username; 
    public static string userpass; 

    public string conn = "Data Source=server.database.windows.net;Initial 
    Catalog=baza;Persist Security Info=True; Trusted_Connection=False; 
    User ID=" +username+ "; Password=" +userpass;

    SqlConnection con = new SqlConnection(conn);
    con.Open();

Ошибка: System.Data.SqlClient.SqlException: 'Не удалось войти в систему для пользователя ''. 'Интерактивный C # сообщает об ошибке CS0103: имя «username» не существует в текущем контексте ошибка CS0103: имя «userpass» не существует в текущем контексте

В форме входа оно работает как должно, ноКогда я вызываю переменные userpass и username в основной форме, я могу записать их в виде текста в окне сообщения и увидеть значения, но я не могу использовать их в строке подключения для SQL-запроса.Когда я пытаюсь запустить SQL-запрос, он показывает System.Data.SqlClient.SqlException

Я понятия не имею, что делать.

1 Ответ

0 голосов
/ 07 мая 2019

Не инициализируйте строку подключения вне функции. Как то так

public string conn;

public void GetInformationFromDatabase()
{
    conn = "Data Source=server.database.windows.net;Initial 
    Catalog=baza;Persist Security Info=True; Trusted_Connection=False; 
    User ID=" +username+ "; Password=" +userpass;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...