无法延长数据集中的字段
Can't lengthen a field in a dataset
我有一个在 windows 表单项目中使用的税金数据集。 'tax_id' int64 主键,'Tax' string 20 chr,'type' string 2 并且在表单上使用。然后我发现我需要将类型更改为 5 个字符。所以我在 sql 数据库和属性数据集中执行此操作,我将 MaxLength 从 2 个字符更改为 5 个字符。现在,当我保存对表单的更改时,它只保存前 2 个字符。为什么?我如何才能保存所有 5 个字符。
这是代码,
TaxDataTableAdapters.TaxTableAdapter taxConnect = new TaxDataTableAdapters.TaxTableAdapter();
taxConnect.UpdateTaxData(taxTextBox.Text, typeTextBox.Text, Convert.ToInt64(tax_idTextBox.Text));
代码只保存typeTextBox.Text的前两个字符。更改数据库和数据集后,现在长度为 5 个字符。
根据我的测试,我重现了你的问题。我发现即使将最大长度更改为 5,我也只能将前 2 个字符保存到数据库中。
经过我的尝试,我找到了解决方法
首先,请将数据库中的更新字段 table 更改为 nvarchar(5)。
然后,请重新添加数据集。
终于,我可以使用相同的代码来获取正确的数据了。
TestDataSetTableAdapters.TaxesTableAdapter adapter = new TestDataSetTableAdapters.TaxesTableAdapter();
adapter.UpdateQuery(1001, "test", "t9999", 1001, "test", "t6");
我有一个在 windows 表单项目中使用的税金数据集。 'tax_id' int64 主键,'Tax' string 20 chr,'type' string 2 并且在表单上使用。然后我发现我需要将类型更改为 5 个字符。所以我在 sql 数据库和属性数据集中执行此操作,我将 MaxLength 从 2 个字符更改为 5 个字符。现在,当我保存对表单的更改时,它只保存前 2 个字符。为什么?我如何才能保存所有 5 个字符。
这是代码,
TaxDataTableAdapters.TaxTableAdapter taxConnect = new TaxDataTableAdapters.TaxTableAdapter();
taxConnect.UpdateTaxData(taxTextBox.Text, typeTextBox.Text, Convert.ToInt64(tax_idTextBox.Text));
代码只保存typeTextBox.Text的前两个字符。更改数据库和数据集后,现在长度为 5 个字符。
根据我的测试,我重现了你的问题。我发现即使将最大长度更改为 5,我也只能将前 2 个字符保存到数据库中。
经过我的尝试,我找到了解决方法
首先,请将数据库中的更新字段 table 更改为 nvarchar(5)。
然后,请重新添加数据集。
终于,我可以使用相同的代码来获取正确的数据了。
TestDataSetTableAdapters.TaxesTableAdapter adapter = new TestDataSetTableAdapters.TaxesTableAdapter();
adapter.UpdateQuery(1001, "test", "t9999", 1001, "test", "t6");