2013-10-23 33 views
0

謝謝,我需要一些幫助,那裏有錯誤DBOperation dbo = new DBOperation();他們認爲這類型或命名空間無法找到。錯誤「Survey.fillmydropdownlist()」:不是所有的代碼路徑返回一個值

public partial class Survey : System.Web.UI.Page 
    { 

    public DataTable fillmydropdownlist() 
    { 
    DataTable drpdt = new DataTable(); 
    SqlConnection con= new SqlConnection(); 
    try 
    { 

    con.ConnectionString = @"SurveyFdBk_DB"; 
    con.Open(); 
    string q = "SELECT * FROM [Survey]"; 
    SqlCommand cmd = new SqlCommand(q,con); 
    SqlDataAdapter da2 = new SqlDataAdapter(cmd); 
    return drpdt; 
    } 
    catch { } 
    finally{ con.Close(); } 
    } 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    DBOperation dbo = new DBOperation(); 
    DataTable dt = new DataTable(); 
    dt = dbo.fillmydropdownlist(); 
    DataTable drpdt= new DataTable(); 
    if (dt.Rows.Count > 0) 
    { 
     DropDownList1.DataSource = drpdt; 
     DropDownList1.DataTextField="SurveyName"; 
     DropDownList1.DataValueField="SurveyID"; 
     DropDownList1.DataBind(); 
    } 
    } 


} 
+0

只需在catch塊中放入一個'return null'語句來避免第一個錯誤。至於DBOperation班,我沒有聽說過。也許你錯過了引用命名空間的文件頂部的'using'語句? – codemonkeh

+0

而不是編輯我的帖子,你應該選擇「添加評論」在這裏添加評論給我。如果您在我的別名之前放置@,那麼我將收到通知 – codemonkeh

+0

通過錯誤處理我的意思是您應該對錯誤進行處理。目前你只是忽略它。如果這是一個預期的錯誤,那麼你應該趕上具體的例外。如果不是,我會登錄或顯示給用戶。通過忽略所有的錯誤,你很難追蹤代碼中的潛在問題 – codemonkeh

回答

0

所有的執行路徑必須返回一些東西。在你的方法上面有兩條路徑:

public DataTable fillmydropdownlist() 
{ 
    try 
    { 
     //path 1 
     return drpdt; 
    } 
    catch 
    { 
     //path 2 
     return null; //need return value here 
    } 
} 

在例外的情況下被拋出,你需要返回某種價值,也許null

這就是說沒有記錄或處理捕捉所有錯誤不是一個明智的做法。你應該考慮添加一些錯誤處理,你應該在你的finally塊中處理你的DataAdapter

相關問題