2011-01-12 88 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); 
相关问题