none
数据库操作 RRS feed

  • 常规讨论

  •  string a=textBox1 .Text ;

         int.TryParse(a,out int c);
      或int c = Convert.ToInt32(a);
      string querystring = "select * from saleslt.SalesOrderHeader where salesorderid=c";

    salesorderid 列的数据类型为 int

    运行时报告数据类型无法转换

    请问以上代码有什么问题,该怎么写啊?

    谢谢!!

    2012年4月18日 5:32

全部回复

  • Hi xcf_006,

    移动到ADO.NET 论坛以至于你会得到更好的帮助。


    Vicky Song [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月19日 7:53
  • 你好!

    你应该用SqlParameter 

    string querystring = "select * from saleslt.SalesOrderHeader where salesorderid=@id";
    
    SqlCommand cmd= new SqlCommand(querystring,conn);
    cmd.Parameters.Add("@id",SqlDbType.Int).Value=Convert.ToInt(a);


    Alan Chen[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年4月19日 7:56
    版主
  • 或許可以試試看下列的程式碼。

    string a=txtBroker.Text;
    int c = 0;
    int.TryParse(a, out c);
    string querystring = "select * from saleslt.SalesOrderHeader where salesorderid=" + c.ToString();

    不過會比較建議你用SqlParameter。

    PS:謝謝Alan的指教。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/


    2012年4月19日 8:34
  • 或許可以試試看下列的程式碼。

    string querystring = "select * from saleslt.SalesOrderHeader where salesorderid=" + c.ToString();

    不會會比較建議你用SqlParameter。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    客户都提到转化成Int了, ToString()肯定是不对的哟::int.TryParse(a,out int c);


    Alan Chen[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年4月19日 8:35
    版主