我在处理项目时遇到了问题。
我正在尝试从Excel文件中读取数据。当我尝试选择大于Col1Value
的行时它工作正常但是在我添加AND Gender = " + gender;
之后它给了我错误“没有为一个或多个必需的参数赋予值”我无法设置特定的性别列因为它在每个excel文件上都不同,尽管列名相同并且在我尝试填充DataSet时出现错误。
if (boxGender.Text != "")
string gender = boxGender.Text;
string col1Name = lbl1stColumn.Text;
string Query = "select * from [data$] where " +
col1Name + " > " + Col1Value +
" AND Gender = " + gender;
OleDbDataAdapter dacol1 = new OleDbDataAdapter(Query, con);
Column1Data.Clear();
dacol1.Fill(Column1Data)
lblStuCount1Col.Text = Column1Data.Tables[0].Rows.Count.ToString();
答案 0 :(得分:1)
您需要将字符串值括在单引号中,将列名括在方括号中:
string Query = "select * from [data$] where [" +
col1Name + "] > " + Col1Value +
" AND Gender = '" + gender + "'";
答案 1 :(得分:0)
我认为您的SQL查询中可能缺少引号:
string Query = "select * from [data$] where " + col1Name + " > '" + Col1Value + "' AND Gender = '" + gender +"'";
注意添加单引号(')符号。