更新我的数据库

时间:2011-01-04 13:04:40

标签: c# .net asp.net subsonic subsonic3

我是亚音速的新手,在尝试从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();

    }

2 个答案:

答案 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或其他一些事件。