전 소프트웨어를 개발하는이 새로운 세상입니다. 그래서 이것은 어리석게 들릴지도 모릅니다.원치 않는 결과를 나타내는 MessageBox
저는 대학에서 간단한 로그인 시스템을 개발하고 있습니다. 조금 더 빠르게하고 싶습니다. 교수님은 다소 혼란스럽고 혼란 스러우며, 우리가 배워야 할 작은 시간을 위험하게 만듭니다. 프로그램 작성.
사용자 이름과 암호가 유효하면 프로그램을 실행하고 기본 양식 만 열 수 있습니다.
데이터베이스에 데이터를 쓰는 등록 단추를 조사하고 작성하기 전에 메시지 상자가 제대로 작동하고있었습니다.
하지만 지금은 성공한 로그인이거나 그렇지 않은 경우 메시지 상자에 표시가 나타나지 않는 것 같습니다.
내 코드는 로그인 버튼에 대해 다음과 같습니다
private void VLogin_Click(object sender, EventArgs e)
{
try
{
string ConnectionString = "User ID=*****;Password=*******;" +
"Database=C:\\Users\\marqu_000\\Documents\\WindowsFormsApplication13\\Sistema.GDB;" +
"DataSource=localhost";
FbConnection addDetailsConnection = new FbConnection(ConnectionString);
addDetailsConnection.Open();
string SQLCommandText = "select * from LOGIN where [email protected] and [email protected]";
FbCommand addDetailsCommand = new FbCommand(SQLCommandText, addDetailsConnection);
addDetailsCommand.Parameters.Add("@username", FbDbType.VarChar, 15).Value = userName.Text;
addDetailsCommand.Parameters.Add("@password", FbDbType.VarChar, 15).Value = userPassword.Text;
FbDataReader reader = addDetailsCommand.ExecuteReader();
while (reader.Read())
{
this.Visible = false;
MainWin MWin = new MainWin();
MWin.ShowDialog();
Application.Exit();
}
MessageBox.Show("Login Successful");
}
catch (Exception x)
{
MessageBox.Show("Invalid username or password");
MessageBox.Show(x.Message);
}
}
그리고 이것은 등록 버튼에 대한 내 코드입니다 : 거기에 어떤 쓸모 라인이있는 경우
private void registerUser_Click(object sender, EventArgs e)
{
try
{
string ConnectionString = "User ID=****;Password=****;" +
"Database=C:\\Users\\marqu_000\\Documents\\WindowsFormsApplication13\\Sistema.GDB;" +
"DataSource=localhost";
FbConnection addDetailsConnection = new FbConnection(ConnectionString);
addDetailsConnection.Open();
FbCommand SQLCommandTextInsert = new FbCommand("INSERT INTO LOGIN(USERNAME, PASSWORD, LEVEL) VALUES (@username,@password,@level)", addDetailsConnection);
SQLCommandTextInsert.Parameters.AddWithValue("username", registerUsername.Text);
SQLCommandTextInsert.Parameters.AddWithValue("password", registerPassword.Text);
SQLCommandTextInsert.Parameters.AddWithValue("level", registerLevel.Text);
SQLCommandTextInsert.ExecuteNonQuery();
MessageBox.Show("Registration completed!");
}
catch (FbException fbex)
{
//throw fbex;
MessageBox.Show("Invalid information, please verify!");
MessageBox.Show(fbex.Message);
}
}
, 그리고 그러한 것들을 만드는 가장 쉬운 방법, 나는 알고 싶습니다. 도움을 주신 모든 분들께 미리 감사드립니다. Marco.
안녕하세요. 귀하의 질문을 편집하여 연결 문자열에서 사용자 이름과 암호를 제거하십시오. 앞으로의 질문에 그런 항목을 포함시키지 마십시오. – Tim
어떤 메시지 상자가 나타나지 않습니까? 'ShowDialog' 블로킹 호출과'Application.Exit' 이후에 하나입니까? 예외를 프로그램 흐름을 제어하는 방법으로 사용하는 것은 일을하는 좋은 방법이 아닙니다. – Sayse
'VLogin_Click' 메소드의 시작 부분에 중단 점을 놓고 F5를 누릅니다. 코드를 단계별로 실행하여 정확히 무슨 일이 일어나는지 볼 수 있습니다. – Tim