首先说一个逻辑上的问题,"WHERE AGE=20 AND AGE=30 AND AGE=24 AND AGE=66" 恐怕逻辑不通吧. :) 我用or代替了.我把两个问题和起来回答:
1)在Form2中定义一个private 变量和public属性:
private ListBox myListbox;
public ListBox SqlWhereListBox
{
set
{
this.myListbox = value;
}
get
{
return this.myListbox;
}
}
2)定义一个private函数,这个函数返回的结果就是你要的sql 语句的 where部分.
private string CreateSqlWhere()
{
System.Text.StringBuilder sBuilder = new System.Text.StringBuilder(); foreach(object objitem in this.myListbox.Items)
sBuilder.Append(" (Age=" + objitem.ToString()+ ") or"); if (sBuilder.Length > 0)
{
sBuilder.Remove(sBuilder.Length - 2,2);
return "where (" + sBuilder.ToString() + ")";
}
else
{
return "";
}
}3)在Form1打开Form时候,把Form1的ListBox2传过去.
Form2 f2 = new Form2();
f2.SqlWhereListBox = this.listBox2;
f2.Show();