我在用vs2005C#语言开发一管理系统,在开发通用查询系统时,想实现动态查询Oracle数据库中不同的字段,但是字段的类型各不相同,于是我想到用以下的方法实现: if (FieldType1 == "VARCHAR2")
            {
                conditionValue1 = "'%" + textBox1.Text.Trim() + "%'";
            }
            else if (FieldType1 == "NUMBER")
            {
                conditionValue1 = textBox1.Text.Trim();
            }
            else if (FieldType1 == "DATE")
            {
                conditionValue1 = textBox1.Text;
            }
if (textBox1.Text != "")
            {
                if (checkBox_升序1.Checked)
                {
                    order1 = "order by "+ FieldName1+" asc";
                }
                if (checkBox_降序1.Checked)
                {
                    order1 = "order by " + FieldName1 + " desc";
                }
                sql = "where " + FieldName1 + " " + comparel1 + " " + conditionValue1+ " "+order1+"";
              
            }
            if ((textBox1.Text != "") && (textBox2.Text != ""))
            {
                if ((checkBox_升序1.Checked) && (checkBox_升序2.Checked))
                {
                    order2 = "order by " + FieldName1 + "asc ," + FieldName2 + " asc ";
                }
                if ((checkBox_降序1.Checked) && (checkBox_升序2.Checked))
                {
                    order2 = "order by " + FieldName1 + " desc," + FieldName2 + " asc";
                }
                if ((checkBox_降序2.Checked) && (checkBox_升序1.Checked))
                {
                    order2 = "order by " + FieldName2 + " desc," + FieldName1 + " asc";
                }
                if ((checkBox_降序2.Checked) && (checkBox_降序1.Checked))
                {
                    order2 = "order by " + FieldName2 + " desc," + FieldName1 + "desc";
                }                sql = "where " + FieldName1 + " " + comparel1 + "" + conditionValue1 + "" + logic1 + " " + FieldName2 + " " + comparel2 + "" + conditionValue2 + "" + order2 + "";
            }
可是这样执行的结果出现了以下问题:
1.FieldName1 和 FieldName2 都是Number类型时出错ora-01722:无效数字或者ora-00920:无效的关系运算符这两个错误;
2.FieldName1 和 FieldName2 的类型是DATE时输入数据库中存在的数据,查询的结果却显示无!
请各位高手们帮忙想想办法,不胜感激!