在更改sql数据库中的列后,我应该做些什么更改?

时间:2011-04-07 15:14:35

标签: c# sql

HII

这是我第一次在c#中使用数据库。我正在尝试将数据库添加到visual studio c#中,读取数据并将数据保存到数据库中。

所以我创建了一个数据库和一个名为“Users”的表。然后我将Windows窗体连接到数据库。

之后它在检索数据(查询:所有用户)方面工作得很好但是在我将日期时间的列类型编辑到int之后,它给了我一个例外“约束异常在下一行未处理

this.usersTableAdapter.Fill(this.smartHomeDataSet.Users);

和形式剂量负荷。 !!

所以我想在我对数据库表所做的更改之后,我必须做些什么,所以它可以应用到我的应用程序中。

它可能是一件容易而且显而易见的事情,但请原谅我这是我第一次进入数据库。

感谢你的帮助,All。

编辑:

我所做的是在表格定义中编辑专栏(出生日期)

它是:dateTime - not allowNull

更改为:int - allowNull

3 个答案:

答案 0 :(得分:2)

您无需重新生成数据集。按照步骤更新数据集。

1。)转到Typeed DataSet设计器。右键单击TableAdapter标题,然后选择“配置”选项。这将启动表适配器配置向导。

2.。)通常完成向导并更新“查询设计器”步骤中的字段。这是它将添加新coloumns并删除在查询的结果集中找不到的coloumns的地方。

3。)完成向导后,您将很快发现新字段已添加到Corresponding DataTable中。这还将确保所有TableAdapter方法的结果集也得到更新,您无需单独更改每个方法。我们已经多次这样做了,它总是可以正常工作。

4.。)如果您从查询中删除了字段,那么您需要手动执行的操作就是从DataTable中删除coloumns。该向导将更新并添加coloumns但它不会从DataTable中删除coloumns。简单地说,就是继续从DataTable中删除coloumn。

你已经完成了。

答案 1 :(得分:0)

嗯,我猜你已经改变了数据集中列的数据类型。

但异常可能是由于将null值加入到AllowNull设置为false的数据表列中。您是否更改了db中列的nullable属性?如果是这样,请同时更改AllowNull

答案 2 :(得分:-1)

看起来您正在使用强类型数据集和表适配器。如果是这种情况,如果对数据库列进行更改,则需要重新生成数据集(或手动更改它们)。