我现在用vb.net       编写aspx网页时给用户提供了一   <导出数据服务>   在用户导出数据时可以选择导出数据的类型(.doc,.xls....已解决)   
用户还可以选择导出数据的那些字段(用户要那些字段,不要那些字段)我现在要做的就是跟据用户所选择的字段生成相相应的sql语句   
现在问题就出现了我用的是CheckBox,当       CheckBox1_CheckedChanged事件时           If       CheckBox1.Checked       =       True       Then   
                                                czid       =       "czid       as       客户编号"   
                                Else   
                                                czid       =       ""   
                                End       If   
    我现在要把这些变量连接成一个sql语句子,如"select"       &       czid       &       ","       &       cnaem       &       ","       &...........   
但是如果czid       =""时这个sql语句就是是借的,供用户选择的字段又很多我不可能使用if       语句生sql       那个大哥会的帮帮我,我才出道

解决方案 »

  1.   

    可以用Case根据情况动态添加.也就是字符串的拼接.
      

  2.   

    用CheckBoxListprotected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string czid = "";
                foreach (ListItem cbl in CheckBoxList1.Items)
                {
                    if (cbl.Selected)
                    {
                        czid += cbl.Value + " AS " + cbl.Text + ",";
                    }
                }
                if (czid.Length != 0)
                {
                    string sql = "SELECT " + czid.TrimEnd(',') + " FROM tb";
                }
            }