错误。System.Data.OleDb.OleDbException: 'No value given for one or more required parameters' (一个或多个所需参数没有给出值)

问题描述 投票:0回答:1

当我试图使用OleDb时,我一直收到这个错误,但不知道如何解决这个问题。我试过引用其他网站什么的,但一无所获。以下是我的代码。

OleDbCommand command = new OleDbCommand(@"SELECT [Name], [Config status], [OverallStatus], [NumHosts], [numEffectiveHosts], [TotalCpu], [NumCpuCores], [NumCpuThreads], [EffectiveCpu], [TotalMemory], [EffectiveMemory], [Num VMotions], [HA enabled], [Failover Level], [AdmissionControlEnabled], [Host monitoring], [HB Datastore Candidate Policy], [Isolation Response], [Restart Priority], [Cluster Settings], [Max Failures], [Max Failure Window], [Failure Interval], [Min Up Time], [VM Monitoring], [DRS enabled], [DRS default VM behavior], [DRS vmotion rate], [DPM enabled], [DPM default behavior], [DPM Host Power Action Rate] FROM [" + Sheet + "$]", conn); //Selects everything inside excel file
        DataTable Data = new DataTable();
        OleDbDataAdapter adapter = new OleDbDataAdapter(command);
        adapter.Fill(Data); //Puts all data inside a DataSet

错误发生在adapter.Fill(Data)行。谢谢你带来的帮助!

编辑:为了进一步的细节,我试图使用OleDb从Excel电子表格中提取数据,将这些数据放入DataTable对象中,然后使用实体框架将这些数据推送到SQL服务器数据库中。在我的excel电子表格中,我试图访问的表名为 "vCluster"。难道问题出在我的OleDbConnection字符串上?

c# oledb oledbcommand oledbdataadapter
1个回答
0
投票

你需要删除 $ 从查询中。

@"SELECT [Name], [Config status], [OverallStatus], [NumHosts], [numEffectiveHosts], [TotalCpu], [NumCpuCores], [NumCpuThreads], [EffectiveCpu], [TotalMemory], [EffectiveMemory], [Num VMotions], [HA enabled], [Failover Level], [AdmissionControlEnabled], [Host monitoring], [HB Datastore Candidate Policy], [Isolation Response], [Restart Priority], [Cluster Settings], [Max Failures], [Max Failure Window], [Failure Interval], [Min Up Time], [VM Monitoring], [DRS enabled], [DRS default VM behavior], [DRS vmotion rate], [DPM enabled], [DPM default behavior], [DPM Host Power Action Rate] FROM [" + temp + "]";
© www.soinside.com 2019 - 2024. All rights reserved.