错误CS0161:并非所有代码路径都返回值

时间:2009-09-22 02:07:47

标签: c# methods

我有这个错误。谁能告诉我为什么? 在TA.cs

public class TA
{
    public TA()
    {
    }

    public static DataTable MergeTA()
    {

        DataTable myDT = new DataTable();
        myDataTable.Columns.Add("AcadYear", typeof(string));
        myDataTable.Columns.Add("NofGrp", typeof(System.Int16));
        myDataTable.Columns.Add("LecHr", typeof(int));
        ...
        ...
        ...

        DataRow myDR = myDT.NewRow();
        myDataRow["AcadYear"] = "2009";
        myDataRow["NoofGrp"] = "2";
        myDataRow["LecHr"] = "1";
        ...
        ...
        ...

        myDT.Rows.Add(myDR);
        ***return myDT;*** 

    }

}

在Display.aspx.cs

...
...
...
string strConMethod = TA.MergeTA();
        SqlConnection sqlConMethod = new SqlConnection(strConMethod);
        DataTable haha = new DataTable();
        haha = TA.MergeTA();

3 个答案:

答案 0 :(得分:7)

您需要在函数结束时返回DataTable:

return myDT;

答案 1 :(得分:3)

您需要从MergeTA方法返回DataTable。将其添加到底部:

return(myDT);

答案 2 :(得分:0)

您似乎没有在myDT

结束时返回MergeTA().

该方法的类型为DataTable,因此通过它的所有代码路径都必须返回DataTable