2016-09-12 2 views
0

실제 프로그램에 사용할 mysql 데이터베이스로 간단한 로그인 양식을 만들려고합니다. 내 유일한 문제는 내가 며칠을 만든 첫 번째 계정에 로그인 할 때마다 이름이 두 번째 양식의 레이블에 표시되지만 내가 최근에 만든 두 번째 계정을 로그인 할 때 로그인하지만 이름이 ' 난사용자 이름이 다른 사용자에게 표시되는 mysql 데이터베이스가있는 간단한 로그인 양식

string lsq = "select * from admintable"; 
      MySqlConnection cnn = new MySqlConnection(mysqlAddress2); 
      MySqlCommand cmd = new MySqlCommand(lsq,cnn); 
      cnn.Open(); 
      MySqlDataReader dr = cmd.ExecuteReader(); 
      label2.Text = string.Empty; 
      while (dr.Read()) 
      { 
       label2.Text += dr.GetString("AdminName"); 
       break; 
     } 

: t은

내가 이름을 사용하고 코드가 두 번째 형태의 라벨에 표시 ... 라벨하지만 항상 나타납니다 1 계정의 이름을 표시 그 코드가 맞는 코드인지는 모르지만 그 코드는 작동하지만 원하는 결과는 매우 다릅니다. 내가 원하는 결과는 사용자가 로그인 할 때마다 대부분의 소셜 미디어 사이트와 마찬가지로 레이블에 표시됩니다.

+0

LastLogin라는 이름의 사용자 로그인, 당신은 우리에게'admintable'의 구조를 줄 수있을 때 저장하는 datetime 필드가 있다고 가정? 'LastLogin desc limit 1에서 admintable order의 AdminName을 선택하십시오 '와 같이 최신'AdminName'을 선택해야합니다. – Prisoner

+0

나중에 가야합니다. *를 선택하지 않고'where'와'break' ,,, 빙고를 선택하면 클러스터 된 인덱스 # 1 항목 – Drew

+0

@Alex가 mysql입니다. 'top'이 없습니다. – Drew

답변

0

여기서 절을 사용하고 이름을 가져 오기위한 매개 변수를 전달해야합니다. 그 UserName의.

+0

변수 바인딩을 보여주는 코드 블록을 보여 주면 좋은 대답이 될 것입니다. '자원의 안전한 폐기를위한 코드. 지금 이것은 당신의 의견입니다. – Drew

0

우리는 당신이

// select last login name based on [LastLogin] 
string lsq = "select AdminName from admintable order by LastLogin desc limit 1"; 
MySqlConnection cnn = new MySqlConnection(mysqlAddress2); 
MySqlCommand cmd = new MySqlCommand(lsq,cnn); 
cnn.Open(); 

var lastAdminName = cmd.ExecuteScalar(); 
if (lastAdminName != null)   // to handle no record return from DB 
    label2.Text = lastAdminName.ToString(); 
관련 문제