我写了一个函数,现在要调用它,它有一个string型的参数,我现在给它赋值,如果我只是写着sql="EE>300"就可以运行成功并且结果也正确。。可是,我现在想做的是,后面那个300让用户来输入,所以我就拉了一个textbox1出来,然后把语句改成sql="EE>'" +Convert.ToDouble(textBox1.Text) + "'";
可是不知道为什么不行,可以正常运行,但是出不了结果。返回说是“对COM组件的错误操作”。。不明白。。高手帮我看看。
我用的是C#下的ArcEngine 做二次开发的。

解决方案 »

  1.   

    sql="EE>300"
    sql="EE>'300'" 
    不一样啊
      

  2.   

    应该是 sql="EE>@number";sc.TextCommand=sql;
    sc.Parameters.Add(@"number",SqlDataType.Int).Value=
    int.TryParse(this.textbox1.Text);sc.ExecuteNorQurey();
    or 
    var reader=sc.ExecuteReader();
      

  3.   

    应该是 sql="EE>@number"; sc.TextCommand=someMethod(sql); 
    sc.Parameters.Add(@"number",SqlDataType.Int).Value= 
    int.TryParse(this.textbox1.Text); sc.ExecuteNorQurey(); 
    or 
    var reader=sc.ExecuteReader();someMethod(string sql,....){
      //...
      string command;
      //...
      return command+=sql;
    }
      

  4.   

    sql="EE>'" +Convert.ToDouble(textBox1.Text) + "'";  这样也可以编译通过??不解。这样写不行吗    sql="EE>" + textBox1.Text.Trim();