【发布时间】:2014-09-04 08:20:44
【问题描述】:
我必须从两个文本框中获取开始日期和结束日期,并根据该日期从数据库中获取数据并显示到网格视图中。
protected void Button1_Click(object sender, EventArgs e)
{
String str = DateTime.Now.ToString(TextBox1.Text);
DateTime tm = Convert.ToDateTime(str);
String str2 = DateTime.Now.ToString(TextBox2.Text);
DateTime tm2 = Convert.ToDateTime(str2);
solarDataSet2TableAdapters.tbl_energy_reportTableAdapter state;
state = new solarDataSet2TableAdapters.tbl_energy_reportTableAdapter();
DataTable dt = new DataTable();
dt = state.GetGridDataBy(DropDownList1.SelectedValue,DropDownList2.SelectedValue,
str, str2); // Failed to enable constraints. One or more rows contain values
//violating non-null, unique, or foreign-key constraints. asp.net c#
GridView1.DataSource = dt;
GridView1.DataBind();
}
【问题讨论】:
-
您必须调试才能找到错误的实际原因。在
dt = state.GetGridDataBy...处设置断点。在调试器的quick-watch-window 中执行这一行。之后在快速观察窗口中执行dt.GetErrors()并查看每一行的RowError-property。在那里你会找到它。 -
@TimSchmelter :我已经完成了上述步骤。在 dt 上放置一个断点并运行快速监视窗口。数据集可视化工具不显示表格。我应该在哪里应用 dt.GetErrors() 方法?
-
我不知道我可以在上面的评论中添加什么以使其更清楚。你不明白什么?在调试器中执行
dt=state.GetGridDataBy(DropDownList1.SelectedValue,DropDownList2.SelectedValue, str, str2);。您将在调试器窗口中看到约束异常。然后在快速观察对话框中执行dt.GetErrors()。结果,您将获得所有有错误的行。您会在每一行的RowError属性中找到有意义的错误消息(也在调试器的快速查看对话框中)。现在清楚了吗? -
@TimSchmelter 谢谢。
-
那么你让它工作了吗?真正的问题是什么?