2

我得到这个运行时异常

无法将“System.Data.SqlTypes.SqlDecimal”类型的对象转换为“System.String”类型。

如何修复我的代码以获得我的结果而没有例外?

ProductsDataContext db = new ProductsDataContext(); 

var matchedproduct = db.GetTable<product>().SingleOrDefault(p =>p.ProductID==productID);

if (matchedproduct != null)               
   product.ProductName = txtpname.Text;

db.SubmitChanges();
4

1 回答 1

3

如果您没有收到编译时错误,那是因为您的 dbml 没有准确地描述数据库中的列。您的对象认为它是一个字符串,但它显然是数据库中的一个小数。您应该在 dbml 编辑器中更新它。然后,当您设置产品名称时,您将不得不从文本中解析出十进制值。

于 2012-05-12T09:11:01.900 回答