可以是用参数。string SQL ="SELECT 姓名,年龄 FROM 成员表 WHERE 年龄 >@age ";
然后让参数的value=age 这个变量也可以!

解决方案 »

  1.   

    string SQL ="SELECT 姓名,年龄 FROM 成员表 WHERE 年龄>"+textBox1.Text ;
      
    去掉string age=textBox1.Text 这句,直接接上textBox1.Text
      

  2.   

    可以是用参数。string SQL ="SELECT 姓名,年龄 FROM 成员表 WHERE 年龄 >@age ";
    然后让参数的value=age 这个变量也可以!
    _______________________________________________
    对,我就是想用这种方法,看着就简洁。可是我不怎么会用,能给出个具体写法吗?:)
    谢谢楼上几位的关注。
    BY:AllenTing()写的也比我强
      

  3.   

    举个例子:SqlCommand sampleCMD = new SqlCommand("select....", nwindConn);sampParm = sampleCMD.Parameters.Add("@age", SqlDbType.NVarChar, 12);
    sampParm.Value = "Sample Value";
      

  4.   

    String.Format("SELECT 姓名,年龄 FROM 成员表 WHERE 年龄>{0}",this.TextBox1.Text);
      

  5.   

    个人经验:sql语句不要写死在程序里面!!
    否则如果以后升级什么的会烦死人的!!(举个例子,假如你的数据库换了另一个环境,不能用中文字段名,那你不是要全部改程序??)
    可以统一放到一个地方(封装一个类也是一个不错的主意),要不一张表里也行。用的时候取出来,用要查询的参数Format一下,
    比如语句: 
    str = “ SELECT 姓名 as name,年龄 as age FROM 成员表 WHERE 年龄>={0}”;
    format( str, textBox1.Text  );//记不大清C#怎么用Format了,查一下
    其实也就和你上面的差不多,
    引用的时候不要直接用字段名,而是通过as name...用 sqlReader["name"].ToString();
    这样即使你的字段名变了,也无所谓,只要改表里的语句,程序一点也不用动!!
    程序会简洁明了,易懂得多!!
      

  6.   

    string age=textBox1.Text.Trim();  //最好写上此句以曲调空格
    string SQL ="SELECT 姓名,年龄 FROM 成员表 WHERE 年龄>=@age";
    SqlCommand sqlComm=new SqlCommand();
    sqlComm.Connection=sqlConn;
    sqlComm.CommandText=SQL;
    sqlComm.AddPar......
      

  7.   

    topken(topken) 说的有道理。
      

  8.   

    1、sqlConn没有及时关闭2、我诀的用存储过程快一点,比较好维护3、
    catch(SqlException ex)
    {
    MessageBox.Show("错误:"+ex.Message );
    }
    finally
    {
    sqlConn.Close();
    }}
    4、用不用parameters没有必要,因为用parameters可以省略command重新构造,在这里没command只构造了一次