sql表达式如何写???救急!!!(100分)

  • 主题发起人 主题发起人 weimaoan
  • 开始时间 开始时间
W

weimaoan

Unregistered / Unconfirmed
GUEST, unregistred user!
1.一表有字段(PARADOX) c1(number),d1(datetime),若要查询c1=var1,var2<d1<var3 (var1为赋值整形变量,var2,var3为赋值日期型变量),在query1.sql.add(' ')中如何表达???
2.query1.sql.add('')中,''''的使用很复杂,有何窍门?
3.sql查询中,要求日期的格式必须是'mm/dd/yy',而一般的系统格式'yy-mm-dd',如何变换,使之select语句中能使用,.add('')中的完整写法???
 
??? not complete?

sql.text:='select * from "aaa.db" where c1=' + inttostr(var1)
 
sql.add('select * from tablename where (c1='+var1+') or (c1='+var2+')';//tablename是你的表名
 
1. query1.sql.add('select * from "aaa.db" where c1='+inttostr(var1)+
' and (d1 between "' + formatdatetime('mm/dd/yy',var2)+'" and "'+
formatdatetime('mm/dd/yy',var3)+'")';
2.''''就是#39, 没什么复杂的:-)

3.看1, 用formatdatetime函数.
 
select * from xx where c1 in (1,2,3)
 
看来,这位 魏猫安:)老兄话还没说完
 
sql="select * from tablename where name='"&c1&,&c2&"'"
 
上边这位老兄是学VB的吧
字符串查询:query1.sql.text:='select * from table where (c1='''+var1+''')';
整型查询:query1.sql.text:='select * from table where (c1='+inttostr(var1)+')';
浮点型查询:query1.sql.text:='select * from table where (c1='+floattostr(var1)+')';
日期查询:query1.sql.text:='select * from table where (c1='''+formatdatetime('mm"/"dd"/"yyyy',var1)+''')';
 
SELECT * FROM xxx WHERE c1=var1 or c1=var2
 
sql 一般形势为 select * form * where * orderby*
你的问题很简单
可用 select * form tablename.db where c1=inttostr(var1) or c1=inttostr(var2)
 
如果想进行日期中的月份比较该怎么办呢?请指教。
 
我的答案与LSS基本一致,只不过还应加一点。delphi中SQL是区分类型的,
字符串查询:query1.sql.text:='select * from table where (c1='''+var1+''') or (c1='''+var2+''')';
整型查询:query1.sql.text:='select * from table where (c1='+inttostr(var1)+') or (c1='+inttostr(var2)+')';
浮点型查询:query1.sql.text:='select * from table where (c1='+floattostr(var1)+') or (c1='+floattostr(var2)+')';
日期查询:query1.sql.text:='select * from table where (c1='''+formatdatetime('mm"/"dd"/"yyyy',var1)+''') or (c1='''+formatdatetime('mm"/"dd"/"yyyy',var2)+''')';
 
我的答案与sunrise基本上一致,我认为chxn的写法不对:
query1.sql.add('select * from tablename where c1 in (+inttostr(var1)+
','+inttostr(var2)+')');
 
query1.sql.add('select * form name where c1=:one or c1=:two')
query1.params[0].value=xxxx;
query1.params[1].value=y;
query1.open;

 
query1.sql.add('select * form name where c1=:one or c1=:two')
query1.parambyname['one']AsInteger=var1;
query1.parambtname['two']AsDate=var2;
query1.open;
 
按 以上大虾说的做没错!
 
多人接受答案了。
 
后退
顶部