C# 列不允许空值
请看一下下面的代码,告诉我哪里出了问题C# 列不允许空值,c#,asp.net,sql-server,ado.net,datatable,C#,Asp.net,Sql Server,Ado.net,Datatable,请看一下下面的代码,告诉我哪里出了问题 case "particulars.aspx": dt = JobCardManager.GetParticularsByJobId(id); hidJobId.Value = id.ToString(); if (dt != null && dt.Rows.Count > 0) { gvParticulars.DataSource = dt; gvParticulars.DataBin
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
没有任何行,我需要在页脚中显示一个新行,页脚中已经添加了控件。我的插入更新和添加新进程都是从网格本身执行的
因此,如果我的数据表为null,那么在带星号的行中,我会得到错误,“Column不允许null”。其中,在数据库中,选中所有列的“允许为空”复选框。请帮忙
[更新]
我没有在查询中检索主键。只有表的可编辑部分。填充数据集时,可能需要读取架构信息。我不确定这是否能解决你的问题,但我怀疑会。如果没有模式,datatable将不知道列是否接受null
da.FillSchema(ds, SchemaType.Source);
da.Fill(ds);
只是猜测一下,但所有列都不能为null,那么定义为主键的列呢?在允许所有null后是否重新生成类型化数据集?实际上,我的方法是返回datatable。。。所以我需要用求和的方法把支票放在返回表上