没有为一个或多个必需参数 c# 提供值



当我运行此代码编译的结果时,Visual Studio 会抛出上述异常:

requete = @"select v.[*] from Visite v, Infirmière i where v.[code_inf] = i.[code_inf]" /* +
           " and i.[nom_inf]='" + nom + "'" +
           " and i.[prenom_inf]='"+prenom+"'"+
           " and v.[date_visite]=to_date('" + d.ToString().Substring(0, 10)+"','DD/MM/YYYY')" */
           ;
MessageBox.Show(requete);

OleDbCommand dbc = new OleDbCommand(requete, connec);
OleDbDataReader dr = dbc.ExecuteReader();
while(dr.Read())
{
    dgv_res.Rows.Add(dr.Read());
}

dgv_res是 datagridview 组件,connec 是打开的连接。

评论了我请求的一部分,看看其中是否有SQL错误,但我真的看不出第一行出了什么问题,我不断收到这个异常。我已经多次检查了列和表名称。

没有为一个或多个必需参数提供值

被扔到我认为创建OleDbDataReader的地方。

感谢您的阅读!

> AFAIK中,您不能将[]*一起使用,并且由于 OLE DB 提供程序不关心命名参数,因此它可能认为[*]是一个参数,并期望它的参数值。

如果除此之外一切都很好,这应该可以工作;

@"select v.* from Visite v, Infirmière i where v.[code_inf] = i.[code_inf]"

使用 [*] 时,数据库引擎认为您有一个确切地称为 * 的列名,而不是表中的所有列v

相关内容

  • 没有找到相关文章

最新更新