参数Ms Access Query的默认值

时间:2016-07-26 09:26:36

标签: c# database ms-access-2013 default-value

我有ms访问查询,如下所示:

PARAMETERS prmORIGINCODE Text ( 255 ), 
           prmORIGIN Text ( 255 ),
           prmSERVICECODE Text ( 255 ),
           prmDESTINATION Text ( 255 ), 
           prmDESTCODE Text ( 255 ), 
           prmSTARTDATE Text ( 255 ), 
           prmENDDATE Text ( 255 );

SELECT 
    SUMMARY.DEST_CITY, 
    SUMMARY.DESTINATION, 
    Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO
FROM SUMMARY
WHERE (
        (
          (SUMMARY.ORIGIN_CODE) = [prmORIGINCODE]) AND
            ((SUMMARY.CNOTE_SERVICES_CODE) = [prmSERVICECODE]) AND 
            ((SUMMARY.ORIGIN) = [prmORIGIN]) AND ((SUMMARY.DEST_CODE) = [prmDESTCODE]) AND 
        ((SUMMARY.TGL_DATA) >= [prmSTARTDATE] And (SUMMARY.TGL_DATA) <= [prmENDDATE])
      )
GROUP BY 
    SUMMARY.DEST_CITY, 
    SUMMARY.DESTINATION, 
    SUMMARY.TGL_DATA, 
    SUMMARY.ORIGIN, 
    SUMMARY.ORIGIN_CODE, 
    SUMMARY.DEST_CODE, 
    SUMMARY.CNOTE_SERVICES_CODE;

我的问题是:

如何为Query参数赋予默认值?我希望查询给我结果,即使我没有给参数赋值(我希望在我没有给参数赋值时显示所有记录)。

我在C#中的一些代码:

OleDbCommand accessCommand = new OleDbCommand();
            System.Data.DataTable dt = new System.Data.DataTable();
            accessCommand = new OleDbCommand(query, mycon);
            accessCommand.Parameters.AddWithValue("@prmORIGINCODE", "BDO");
            accessCommand.Parameters.AddWithValue("@prmORIGIN", "BDO10000");
            accessCommand.Parameters.AddWithValue("@prmSERVICECODE", "REG15");
            accessCommand.Parameters.AddWithValue("@prmORIGINCODE", "BDO");
            using (OleDbDataReader myReader = accessCommand.ExecuteReader())
            {
                DataTable myTable = new DataTable();
                myTable.Load(myReader);
                return myTable;
            }

1 个答案:

答案 0 :(得分:0)

您可以更改数据库的设计。在设计模式中选择列并为其设置默认值。如果没有为此参数写入特定值,则会考虑默认值。