2011-01-12 52 views
0

PLZ告訴我,我做錯了,我複製具有代碼麻煩沒有一個或多個條件給定的值參數

query = "SELECT * FROM ACCOUNT_KEEPER WHERE DATEPART(MONTH,[DATE]) = ?"; 

DataSet dataSet=new DataSet(); 
      OleDbDataAdapter dataAdapter=new OleDbDataAdapter(); 
      try 
      { 
       if(OpenOledbConnection()) 
       { 
        dataAdapter.SelectCommand=new OleDbCommand(query,connection); 
        dataAdapter.SelectCommand.Parameters.AddWithValue("@DATEPART(MONTH,[DATE]", date.Month); 
        dataAdapter.Fill(dataSet); 
        // checking if dataset is updated or not 
        int temp = dataSet.Tables[0].Rows.Count; 
        return dataSet; 
       } 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Error While Retrieving data by Month"); 

      } 
      finally 
      { 
       CloseOledbConnection(); 
      } 
      return null; 

由於部分提前

MGD

+0

如果你真的想要一個答案,你將無法繞過不必問一個實際問題。 – Timwi 2011-01-12 19:12:04

回答

1

相反的

query = "SELECT * FROM ACCOUNT_KEEPER WHERE DATEPART(MONTH,[DATE]) = ?"; 

query = "SELECT * FROM ACCOUNT_KEEPER WHERE DATEPART(MONTH,[DATE]) = @x"; 

,而是

dataAdapter.SelectCommand.Parameters.AddWithValue("@DATEPART(MONTH,[DATE]", date.Month); 

dataAdapter.SelectCommand.Parameters.AddWithValue("@x", date.Month); 
相關問題