Столбец не допускает пустых значений - PullRequest
1 голос
/ 14 марта 2011

Пожалуйста, посмотрите на мой код ниже и скажите мне, где я иду не так.

case "particulars.aspx":
   dt = JobCardManager.GetParticularsByJobId(id);
   hidJobId.Value = id.ToString();
   if (dt != null && dt.Rows.Count > 0)
   {
      gvParticulars.DataSource = dt;
      gvParticulars.DataBind();
   }
   else
   {
      **dt.Rows.Add(dt.NewRow());**
      gvParticulars.DataSource = dt;
      gvParticulars.DataBind();

      int TotalColumns = gvParticulars.Rows[0].Cells.Count;
      gvParticulars.Rows[0].Cells.Clear();
      gvParticulars.Rows[0].Cells.Add(new TableCell());
      gvParticulars.Rows[0].Cells[0].ColumnSpan = TotalColumns;
      gvParticulars.Rows[0].Cells[0].Text = "No Record Found";
   }

   ddlJobs.Enabled = false;
   gvParticulars.ShowFooter = true;
   break;

Я хочу добиться того, чтобы в случае dt не было строк, мне нужно отобразить новую строку в нижнем колонтитуле, элементы управления уже добавлены в нижний колонтитул. Моя вставка обновления и добавления нового процесса все выполняются из самой сетки.

Таким образом, в случае, если моя таблица данных становится нулевой, в строке, отмеченной звездочкой, я получаю сообщение об ошибке "Столбец не допускает нулевое значение". Где в базе данных все столбцы имеют флажки Allow Null. Пожалуйста, помогите.

[Update]

Я не получаю первичный ключ в запросе. Только редактируемые части таблицы.

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Возможно, вы захотите прочитать информацию о схеме при заполнении набора данных. Я не уверен, решит ли это вашу проблему, но подозреваю, что так и будет. Без схемы ваша таблица данных не будет знать, принимает ли столбец ноль или нет.

da.FillSchema(ds, SchemaType.Source);
da.Fill(ds);
0 голосов
/ 14 марта 2011

Просто предположение, но все столбцы не могут быть нулевыми, как насчет столбцов, определенных как первичный ключ?

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