以下是我拥有的代码,我一生都无法弄清楚查询出了什么问题。
我最初遇到错误“没有为 1 个或多个参数提供值”,它似乎已经消失了(尽管我什至不知道为什么我得到它)。
连接在此代码之前打开。参数 GVars.thisFY 是一个字符串 = "FY13" - 这个表肯定存在。参数 GVars.currentDate 是 DateTime = 今天。
此 [Destination] 和 [Next Collection] 范围内肯定存在记录:
string sql;
OleDbDataAdapter adapter;
sql = "SELECT * FROM @CurFY WHERE [Destination] = @Destination AND [Next Collection] BETWEEN @NextCollectionA AND @NextCollectionB;";
// Create the command object
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
// Add values to the fields
cmd.Parameters.AddWithValue("@CurFY", GVars.thisFY);
cmd.Parameters.AddWithValue("@Destination", "Henwood");
cmd.Parameters.AddWithValue("@NextCollectionA", GVars.currentDate);
cmd.Parameters.AddWithValue("@NextCollectionB", GVars.currentDate.AddDays(1));
adapter = new OleDbDataAdapter(cmd.CommandText, conn);
try
{
adapter.Fill(ds);
GVars.bLblLastUpdate = DateTime.Now.ToString("HH:mm:ss");
}
catch (Exception ex)
{
}
编辑:我已更改代码以删除表参数,如下所示,仍然得到“没有为 1 个或多个参数提供值”,尽管我无法确定..
EDIT2:我删除了额外的内容,因此该帖子仅与已回答的原始问题有关。我将为我奇怪的“没有给出值”错误提出一个新问题