2014-03-12 21 views
0

我做了一個方法,如果表中有某些東西,它會得到它的值爲MsgID列,並返回一個大於1的值,表示它收到的值,如果表中沒有任何東西它返回0;從DataTableReader獲取值

這裏是方法:

 public int getMsgNum() 
    { 
     public static string CON_STR = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + HttpContext.Current.Server.MapPath("~/App_Data/Database.mdf") + ";Integrated Security=True;User Instance=True"; 
     SqlDataAdapter daObj = new SqlDataAdapter("Select MAX(MsgID) FROM Msgs", CON_STR); 
     DataSet dsObj = new DataSet(); 
     daObj.Fill(dsObj); 
     DataTableReader r = dsObj.Tables[0].CreateDataReader(); 
     if (r.Read()) 
      return int.Parse(r["MsgID"].ToString()) + 1; 
     return 0; 
    } 

我運行調試,並告訴我說,這個問題是在該行

return int.Parse(r["MsgID"].ToString()) + 1;

出現錯誤:

Column 'MsgID' does not belong to table Table.

但我也注意到,即使是我也會進入if (r.Read()) f表中沒有任何東西。

我已經檢查了幾次,表的名稱和CON_STR都是正確的,有一個表中的

回答

0

添加這裏列名命名MsgIDSelect MAX(MsgID) as MsgID FROM Msgs

+0

它做出了不同的錯誤同一行:「輸入字符串格式不正確。」 – Omer