for i:=1 to tihao do
begin
adoquery8.Close;
adoquery8.SQL.Clear;
adoquery8.SQL.Add('select count(answerinfo.所选答案) as sumofexam from answerinfo,rightanswer');
adoquery8.SQL.Add('where answerinfo.科目=rightanswer.科目');
adoquery8.SQL.Add('and answerinfo.科目='+''''+DBComboBox2.Text+''''+'');
adoquery8.sql.Add('and answerinfo.考试时间=rightanswer.考试时间');
adoquery8.sql.Add('and answerinfo.考试时间=#'+''+DBComboBox4.Text+''+'#');
adoquery8.SQL.Add('and answerinfo.题号=rightanswer.题号');
adoquery8.sql.Add('and answerinfo.所选答案=rightanswer.正确答案');
adoquery8.SQL.Add('and answerinfo.题号:=i'); //这里出现问题
adoquery8.Open;
end;
以上代码运行的后果是:
parameter对象被不正确地定义。提供了不一致或不完整的信息。
如果屏蔽这一句adoquery8.SQL.Add('and answerinfo.题号:=i'); ,运行是没有问题的。
我现在就是想问问,我想动态设置SQL,以上方法错在哪里?应该要怎样修改?
begin
adoquery8.Close;
adoquery8.SQL.Clear;
adoquery8.SQL.Add('select count(answerinfo.所选答案) as sumofexam from answerinfo,rightanswer');
adoquery8.SQL.Add('where answerinfo.科目=rightanswer.科目');
adoquery8.SQL.Add('and answerinfo.科目='+''''+DBComboBox2.Text+''''+'');
adoquery8.sql.Add('and answerinfo.考试时间=rightanswer.考试时间');
adoquery8.sql.Add('and answerinfo.考试时间=#'+''+DBComboBox4.Text+''+'#');
adoquery8.SQL.Add('and answerinfo.题号=rightanswer.题号');
adoquery8.sql.Add('and answerinfo.所选答案=rightanswer.正确答案');
adoquery8.SQL.Add('and answerinfo.题号:=i'); //这里出现问题
adoquery8.Open;
end;
以上代码运行的后果是:
parameter对象被不正确地定义。提供了不一致或不完整的信息。
如果屏蔽这一句adoquery8.SQL.Add('and answerinfo.题号:=i'); ,运行是没有问题的。
我现在就是想问问,我想动态设置SQL,以上方法错在哪里?应该要怎样修改?
adoquery8.SQL.Add('and answerinfo.题号=' + IntToStr(i)); //这里--------------------------------------
看见了么,
那支蛾子,
正飞向太阳,
那就是我!
--------------------------------------
SQL语法跟pascal语法又不一样。
我一直跟我带 的那个师弟说一定要注意你现在是在写sql语句
还是写delphi代码,类似的
如果你要加where 考试时间=‘2002-02-02’一定要注意写成adoquery8.SQL.Add('and answerinfo.考试时间='+'''2002-02-02''' );
Parameters.ParamByName('Th).Value:=i;
adoquery8.SQL.Add('and answerinfo.题号:=i');
但就是在这句出现问题。
动态sql是这样设置的嘛?
要怎样修改?
你为什么那么急??
to myself
为什么比他还急?
运行还是不通过,错误信息如下:
adoquery8:parameter "题号" not found。
-------->改为adoquery8.sql.add(' and answerinfo.题号 = :i');
adoquery8.Parameters.parambyname('i').asinteger := strtoint(edit1.text);
yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)
fhuibo(Sailor)
等大哥的意见;belllab(bell)、 hhytsoft(雨中独行)两位大哥的意见在运行中还有点错误,可能我还没有领会。