- 已加入
- 2020年5月15日
- 留言内容
- 32
- 编程经验
- Beginner
我在C#Visual Studio中有一个数据库,然后有一个数据集。在数据库中,有一个表,该表的列名为CardType。这是我之前的某个人创建的。并且此列中的值始终为40。因此他创建了double类型的值。
有人告诉我,现在必须将值更改为SAR40,而不仅仅是40。所以现在是字符串。因此,当我将值更改为SAR40时,尝试将SAR40添加到double类型的列时显然会出错。所以首先我去了SQL Server Management Studio,然后将类型更改为nvarchar。然后,我回到Visual Studio,并将CardType的数据类型更改为System.String。
然后,当我运行程序时,仍然出现错误
workRow ["CardType"] = type.Text; // CardType是字符串,我将鼠标悬停在它上面进行了仔细检查,它显示为字符串。
workRow ["Hardwarerevision"] = hw.Text;
然后,将数据行添加到数据集中。
//添加新数据行
ds.UNIO_CPU.Rows.Add(workRow);
最后,我们使用名为DataGridAdapter_CPU的表适配器使用数据集更新数据库。
//将数据写入数据库
DataGridAdapter_CPU.Update(workRow);
那么为什么我仍然会出现错误?
我尝试仅用40运行该程序,但程序未显示任何错误。它工作正常。那怎么可能。因为我在SQL Server Management Studio和Visual Studio的数据集中都将其更改为字符串类型。因此,这里应该显示错误。但是它没有显示错误。而我尝试输入SAR40则显示无法将字符串转换为双精度的错误。
该错误发生在DataGridAdapter_CPU.Update(workRow)行中。因为我注释掉了这条线,然后运行其余部分。没有错误,程序正常运行,但是由于注释了该行,因此数据库未接收到新行。因此,当tableadapter尝试将数据行添加到sql server数据库时,就会发生错误。但是正如我所说,我已经将数据集中的CardType更改为System.string,然后还将SSMS中的colum CardType更改为string。因此,tableadadapter中有一些我必须更改的东西。我不是这方面的专家,我只知道基本的C#编程。请帮我。谢谢你。
有人告诉我,现在必须将值更改为SAR40,而不仅仅是40。所以现在是字符串。因此,当我将值更改为SAR40时,尝试将SAR40添加到double类型的列时显然会出错。所以首先我去了SQL Server Management Studio,然后将类型更改为nvarchar。然后,我回到Visual Studio,并将CardType的数据类型更改为System.String。
然后,当我运行程序时,仍然出现错误
程序的工作方式是有一堆小段来填充数据,并且每个数据都进入数据库。诸如卡类型,硬件修订等数据。因此,我们创建了一个名为工作行的数据行,然后将其添加到工作行中。参数值不能从字符串转换为双精度。
FormatException:输入的字符串格式错误。
workRow ["CardType"] = type.Text; // CardType是字符串,我将鼠标悬停在它上面进行了仔细检查,它显示为字符串。
workRow ["Hardwarerevision"] = hw.Text;
然后,将数据行添加到数据集中。
//添加新数据行
ds.UNIO_CPU.Rows.Add(workRow);
最后,我们使用名为DataGridAdapter_CPU的表适配器使用数据集更新数据库。
//将数据写入数据库
DataGridAdapter_CPU.Update(workRow);
那么为什么我仍然会出现错误?
我尝试仅用40运行该程序,但程序未显示任何错误。它工作正常。那怎么可能。因为我在SQL Server Management Studio和Visual Studio的数据集中都将其更改为字符串类型。因此,这里应该显示错误。但是它没有显示错误。而我尝试输入SAR40则显示无法将字符串转换为双精度的错误。
该错误发生在DataGridAdapter_CPU.Update(workRow)行中。因为我注释掉了这条线,然后运行其余部分。没有错误,程序正常运行,但是由于注释了该行,因此数据库未接收到新行。因此,当tableadapter尝试将数据行添加到sql server数据库时,就会发生错误。但是正如我所说,我已经将数据集中的CardType更改为System.string,然后还将SSMS中的colum CardType更改为string。因此,tableadadapter中有一些我必须更改的东西。我不是这方面的专家,我只知道基本的C#编程。请帮我。谢谢你。