Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新我的数据库_C#_.net_Asp.net_Subsonic_Subsonic3 - Fatal编程技术网

C# 更新我的数据库

C# 更新我的数据库,c#,.net,asp.net,subsonic,subsonic3,C#,.net,Asp.net,Subsonic,Subsonic3,我是亚音速的新手,在尝试从sql server更新数据库时遇到问题。我创建了一个gridview,但仍然没有返回更新结果。你能帮帮我吗?它在dc.AddMostaHse()上获取错误代码; (无法将类型“void”隐式转换为“object”) 下面是DataAccess.cs页面的代码 公共无效AddMostaHse() { Mosta.MostaHSE1 xx = new MostaHSE1(); xx.ID = 94; xx.FunctionL

我是亚音速的新手,在尝试从sql server更新数据库时遇到问题。我创建了一个gridview,但仍然没有返回更新结果。你能帮帮我吗?它在dc.AddMostaHse()上获取错误代码; (无法将类型“void”隐式转换为“object”)

下面是DataAccess.cs页面的代码

公共无效AddMostaHse() {

        Mosta.MostaHSE1 xx = new MostaHSE1();
        xx.ID = 94;
        xx.FunctionLocation = "lza94";
        xx.acno = 12;
        xx.Save();
    }
        DataAccess dc = new DataAccess();
        gvtest.DataSource = dc.AddMostaHse();
        gvtest.DataBind();

    }
将其与gridview绑定。 {

        Mosta.MostaHSE1 xx = new MostaHSE1();
        xx.ID = 94;
        xx.FunctionLocation = "lza94";
        xx.acno = 12;
        xx.Save();
    }
        DataAccess dc = new DataAccess();
        gvtest.DataSource = dc.AddMostaHse();
        gvtest.DataBind();

    }

您的方法AddMostaHse正在返回void(无返回)。您无法将datagrid绑定到void。如果要将datagrid绑定到刚才在该方法中创建的对象,请将您的方法更改为:

public MostaHSE1 AddMostaHse() {

        Mosta.MostaHSE1 xx = new MostaHSE1();
        xx.ID = 94;
        xx.FunctionLocation = "lza94";
        xx.acno = 12;
        xx.Save();
        return xx;
    }
我觉得奇怪的是,为什么要将一个对象绑定到datagrid(更不用说为什么要将这样创建的对象绑定到datagrid,我假设您只是在测试),通常是绑定一组对象。因此,这可能不会带来您想要的结果

datagrid更常见的候选者是:

public IEnumerable<MostaHSE1> GetAllMostaHse() {

        return Mosta.MostaHSE1.All();

    }
public IEnumerable GetAllMostaHse(){
返回Mosta.MostaHSE1.All();
}

这没有多大意义。您的gridview应该从读取操作绑定。您当前正在根据您提供的内容将其绑定到插入/写入操作。您可能应该获取MostaHSE1()的集合并将其显示在gridview中。读取函数的返回类型很可能是DataTable或DataSet


您的AddMostHse1()似乎它应该可以工作,但您希望在gridview之外针对不同的事件来执行此操作。可能是RowEditEnding或其他事件。

谢谢您的帮助。您对无效的看法是正确的。那么您有什么建议?显示更新的最佳方法是什么?如果造成任何不便,请告诉我,但我是此系统的新手。非常感谢您的帮助不耐烦!