有一个挑战,以下语句怎样写好呢?in (动态数组)那里怎样表示出来?
select * from TableA
where 条件1 in (动态数组)实际运行时是这样:
select * from TableA
where 姓名 in ('小红','小明','小东','小西' )"小红,小明,小东,小西"是动态数组里的元素但怎样表达出来呢?
select * from TableA
where 条件1 in (动态数组)实际运行时是这样:
select * from TableA
where 姓名 in ('小红','小明','小东','小西' )"小红,小明,小东,小西"是动态数组里的元素但怎样表达出来呢?
解决方案 »
- 请教高手一个写入数据库的小问题!!!!
- 菜鸟的一个问题:Delphi 哪个版本比较好用?
- 如何搜索到某一目录下的某个文件?
- *****麻烦大家看看这个错误怎么解决!![Fatal Error] XMLUtils.pas(24): Read error on '.\output\Unicode.dcu'
- 在同一个局域网内,如何获取另一台计算机的显示信息?
- 大家行行好 可怜可怜我啊。。。。
- ado 与 sql server2000的数据库连接的怎样发行呢?!
- 请问如何给Tdblookupcombobox赋初值?
- Delphi的高手请留步
- Delphi安装
- 请问类的实例与类在内存中是什么关系??指针??
- 怪問題為什麽我的窗口(非主窗口)關閉再打開後主從表關係就不能用了?
procedure TForm1.BitBtn1Click(Sender: TObject);
var
a: array of string;
i: integer;
str: string;
begin
setLength(a, 2);
a[0] := '小红';
a[1] := '小明';
str := '(';
for i := Low(a) to High(a) do
begin
str := str + '''' + a[i] + ''',';
end;
str := copy(str, 0, Length(str) - 1) + ')'; adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from test1 where id in');
adoquery1.SQL.Add(str);
adoquery1.Open;
end;
a: array of string;
i: Integer;
s: String;
begin
for i := Low(a) to High(a)-2 do
begin
s := #39+a[i]+#39+',';
end;
s := #39+a[High(a)-1]+#39;
Query.SQL.Text := 'select * from TableA where 姓名 in ('+s+')';end;