一:
//----通过combobox选项查询
case suiComboBox1.ItemIndex of
    0:fstr:='select * from apply where(%s%s%s) order by %s';
    11: fstr:='select * from apply where(%s%s#%s#) order by %s';
  else fstr:='select * from apply where(%s%s''%s'') order by %s';
  end;
  with ADOQuery1 do
  begin
    SQL.Clear;
    SQL.Add(Format(fstr,[suiComboBox1.Text,sign,suiEdit1.Text,suiComboBox1.Text]));
    Prepared;
    Open;
  end;
  Queryed:=True;
//---------对combobox进行赋值
  suiComboBox1.Clear;
  for i:=0 to ADOQuery1.FieldCount-1 do
  suiComboBox1.Items.Add(ADOQuery1.Fields[i].FieldName);由于本人在access里的字段都是英文的
所以经过suiComboBox1.Items.Add(ADOQuery1.Fields[i].FieldName);后
combobox1显示都是英文的,直接在属性面板里的items输入中文,运行的时候会出错
说   参数 学号 没有默认值  
请问怎样解决这个问题不会要我把数据库全改成中文的吧二:
 where(%s%s%s) order by %s  是什么意思?有人说
where(%s%s%s) order by %s
第一个%s应该是字段名。你输入一个中文,如果你数据库里的字段不是中文的当然会有错
最后一个%s理由同上
第二个%S指的是SIGN,估计是>,<,=,LIKE什么的吧
第三个%S是suiEdit1.Text,估计是用户填写的一个具体的值了还是不行
case suiComboBox1.ItemIndex of
    0:fstr:='select * from apply where(id%s%s) order by %s';
说    多余的)在查询表达式’(id表名=)'中表名是 id的中文字段

解决方案 »

  1.   

    楼主的帖子已经发了好几次了,这样吧,你要什么效果,我给你写过程好了!!!!???
    楼主的帖子已经发了好几次了,这样吧,你要什么效果,我给你写过程好了!!!!???
    楼主的帖子已经发了好几次了,这样吧,你要什么效果,我给你写过程好了!!!!???
    楼主的帖子已经发了好几次了,这样吧,你要什么效果,我给你写过程好了!!!!???
    楼主的帖子已经发了好几次了,这样吧,你要什么效果,我给你写过程好了!!!!???可以发消息给我!!!!!!