参数 Ms 访问查询的默认值
Default value for Parameter Ms Access Query
我有这样的 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;
我的问题是:
如何给查询参数赋默认值?我希望查询即使在我没有为参数赋值时也能给我结果(我想在我没有为参数赋值时显示所有记录)。
我的一些 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;
}
您可以更改数据库的设计。 select 列在设计模式中并为其设置默认值。如果你没有为这个参数写一个具体的值,默认值将被考虑。
我有这样的 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;
我的问题是:
如何给查询参数赋默认值?我希望查询即使在我没有为参数赋值时也能给我结果(我想在我没有为参数赋值时显示所有记录)。
我的一些 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;
}
您可以更改数据库的设计。 select 列在设计模式中并为其设置默认值。如果你没有为这个参数写一个具体的值,默认值将被考虑。