gpt4 book ai didi

c# - 参数化查询中缺少必需参数?

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:13 25 4
gpt4 key购买 nike

我在尝试执行下面的代码时遇到以下错误

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

string paraName = "CONTROL";
string fullPathToExcel = @"C:\Users\xbbjn2h\Desktop\Mapping.xlsx";
string connString = string.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES;""",fullPathToExcel);
string sql = "SELECT [FUNCTION],[NAME] from [Sheet1$] WHERE [FUNTION] = ?";

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = connString;
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
{
cmd.Parameters.AddWithValue("?", paraName);
DataSet ds = new DataSet();
conn.Open();
OleDbDataAdapter dab = new OleDbDataAdapter(cmd);
dab.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
conn.Close();
}

最佳答案

OleDbCommand 不支持命名参数(参见 the docs )。你需要做的是:

cmd.Parameters.Add(new OleDbParameter { Value = paraName });

编辑:我还没有尝试过,但我想可以使用上面的代码并将 null 作为名称参数传递...

关于c# - 参数化查询中缺少必需参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com