я не могу сгенерировать ID для пользователя - PullRequest
0 голосов
/ 19 июля 2011

Я хочу создать идентификатор.Мое приложение работает в 3-х уровнях (используя asp.net и 2008).поэтому для этого я вызываю метод из пользовательского интерфейса (webpg1.aspx.cs), записанный в файле class1.cs.Я предположил, что в настоящее время нет записи в базе данных, поэтому идентификатор может быть как 1,2,3 ... n.Поэтому, пожалуйста, заставьте меня пойти туда не так.Call из webpg1.aspx.cs

int verify = j.insertReg(ad,un,pwd); 

реализация class1.cs

public int regUser(int id, string un, string pwd)
{
  int cms = 0; 
  int id1 = 0;
  int c2 = openDb();

  if (c2 < 0)
  {
    if (ad ==0)
      id1 = callgenId(ad);

   cm = new SqlCommand("INSERT INTO regAgnt VALUES('"
                                + id1 +"','"+ un +"','"+ pwd +"')",cn);
    cms = cm.ExecuteNonQuery();
  }
  else
  {
    cms = c2;
  }

  return cms;
}

private int callgenId(int id)
{
  int idi = 0;
  cm = new SqlCommand("select MAX(aid) from regAgnt", cn);
  dr = cm.ExecuteReader();
  while (dr.Read())
  {
    if(Convert.ToInt32(dr[0])== 0)
      idi += 1;

    dr.Close();
   }
   return idi;
}

выводит 0 в таблице, я также связал значение по умолчанию как 0 в таблице.

Спасибо!

1 Ответ

0 голосов
/ 19 июля 2011

Если в вашем наборе результатов нет информации - dr.Read () не происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...