我是亚音速的新手,在尝试从sql server更新数据库时遇到问题。我创建了一个gridview仍然没有返回更新结果。你能帮我么?它在dc.AddMostaHse()上获取错误代码; (不能隐含地将类型'void转换为'对象')
以下是DataAccess.cs页面的代码
public void AddMostaHse() {
Mosta.MostaHSE1 xx = new MostaHSE1();
xx.ID = 94;
xx.FunctionLocation = "lza94";
xx.acno = 12;
xx.Save();
}
将其与gridview绑定。 {
DataAccess dc = new DataAccess();
gvtest.DataSource = dc.AddMostaHse();
gvtest.DataBind();
}
答案 0 :(得分:0)
您的方法AddMostaHse返回void(无返回)。您无法将数据网格绑定到void。如果要将datagrid绑定到刚刚在方法中创建的对象,请将方法更改为:
public MostaHSE1 AddMostaHse() {
Mosta.MostaHSE1 xx = new MostaHSE1();
xx.ID = 94;
xx.FunctionLocation = "lza94";
xx.acno = 12;
xx.Save();
return xx;
}
对我来说,为什么要将一个对象绑定到一个数据网格似乎很奇怪(让我们为什么要将这样的创建对象绑定到数据网格,我假设你只是在测试),通常你绑定一个对象集合。因此,这可能无法带来你想要的结果。
数据网格的一个更常见的候选者是:
public IEnumerable<MostaHSE1> GetAllMostaHse() {
return Mosta.MostaHSE1.All();
}
答案 1 :(得分:0)
这没有多大意义。您的gridview应该从Read操作绑定。您当前正在根据您提供的内容将其绑定到插入/写入操作。您应该抓住MostaHSE1()的集合并在gridview中显示它。 Read函数的返回类型很可能是DataTable或DataSet。
您的AddMostHse1()似乎应该可以使用,但是您希望将不同的事件定位到gridview之外来执行此操作。也许RowEditEnding或其他一些事件。