我从 Northwind db 中检索了一个数据集,以通过视图中的 webgrid 显示出来。但是,当我实例化客户对象时,将“id”字段转换为 int 值时会出错。这是我的代码...
public ActionResult List()
{
SqlConnection conn;
SqlDataAdapter myDataAdapter;
DataSet myDataSet;
string cmdString = "SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers";
conn = new SqlConnection("Data Source=PETERPC\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
myDataAdapter = new SqlDataAdapter(cmdString, conn);
myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet, "Customers");
foreach (DataRow dr in myDataSet.Tables[0].Rows)
{
customers.Add(new Customer() { id = int.Parse(dr[0].ToString()), co_name = dr[1].ToString(), name = dr[2].ToString(), title = dr[3].ToString() });
}
return View(customers);
}
在控制器文件顶部声明的列表...
private List<Customer> customers = new List<Customer>();
但是我有很多方法可以解决这个问题,但是在 foreach 中 id = int.Parse(dr[0].ToString())
总是出现错误,但是如果我不使用 ID,它会运行良好。
这是错误消息...
[FormatException: 输入字符串格式不正确。] System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +10726387 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info ) +145 System.Int32.Parse(String s) +23
Movie.Controllers.HelloController.List() 在 c:\Users\peter_000\Documents\Visual Studio 2012\Projects\Movie\Movie\Controllers\HelloController.cs:52
lambda_method(闭包,ControllerBase,对象[])+101
目标是将所有这些转移到 Web 服务中并将其称为服务。这可能应该是微不足道的,但我似乎无法找到解决方法。
任何人都可以建议或建议更好的方法吗?