SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ='+DropDownList1.SelectedValue+' and month(wtrq) = '+DropDownList2.SelectedValue+'", con); 
year(wtrq)="***"(***必须为int类型),而DropDownList1.SelectedValue的值为varchar类型,请问如何解决此问题。请高手指点,谢谢!!!

解决方案 »

  1.   

    如何将varchar类型转换成int类型呢??还是有其他方法??请高手指点!!
      

  2.   

    Convert.toInt32(DropDownList2.SelectedValue.ToString())
      

  3.   


    DropDownList1.SelectedValue = wtrq.ToString();
      

  4.   

    前面加(int)强制转换 看行不
      

  5.   

    你转换干嘛,那里就是拼sql语句直接拼接不就可以了
      

  6.   

    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ="+DropDownList1.SelectedValue+" and month(wtrq) = "+DropDownList2.SelectedValue, con); OK
      

  7.   

    select * From Tasks where year(wtrq) ='"+DropDownList1.SelectedValue+"' and month(wtrq) = '"+DropDownList2.SelectedValue+"'
      

  8.   

    不行啊,+DropDownList2.SelectedValue+'的类型为varchar,year(wtrq)="***"(***必须为int类型),所以的转换啊!不转换还有其他方法吗??
    急啊!!
    哪位高手帮帮我啊!!
    马上加分100!
      

  9.   

    你DropDownList2的value是绑定的什么?
      

  10.   

    不是,是在DropDownList2里面设置的!!!有问题吗??
      

  11.   

    如果你的value值为数值的话,就能用 convert.toint32(DropDownList.SelectedValue)转换成Int型的
      

  12.   

    我设置里面的value值分别为1、2、3、4、5、6
    应该能用convert.toint32()转换的
    可是总是出现错误:“archar 转换成int 不成功”不知道为什么
    有谁能帮我在想想吗??
      

  13.   

    int.Parse(DropDownList2.SelectedValue)这样可以转
      

  14.   

    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ='+DropDownList1.SelectedValue+' and month(wtrq) = '+DropDownList2.SelectedValue+'", con);
    修改成
    string sqlText = ("select * From Tasks where year(wtrq) ='+DropDownList1.SelectedValue+' and month(wtrq) = '+DropDownList2.SelectedValue+'";
    SqlDataAdapter ada = new SqlDataAdapter(sqlText, con);
    然后调试看sqlText的值。DropDownList1.SelectedValue的值类型貌似应该是object。
    把调试得到的SqlText进行分析下就知道问题再哪里了。
    如果还有问题请把调试中的SqlText值给帖出来。
    问题很可能不是出在LZ帖出的这句话
      

  15.   

    1.  string sql=String.format("select * From Tasks where year(wtrq) ='{0}' and month(wtrq) = '{1}'",DropDownList1.SelectedValue.Trim(),DropDownList2.SelectedValue.Trim());
    SqlDataAdapter ada = new SqlDataAdapter(sql, con); 貌似用string的也可以查出来 这是我测试的pubs数据库 SELECT * FROM sales WHERE (YEAR(ord_date) = '1993')
    如果要用int型那你首先转换 如果你dropdownlist的value是1,2,3这样的 转换就没问题  靓仔仔细看看 
    string sql=String.format("select * From Tasks where year(wtrq) ={0} and month(wtrq) = {1}",Convert.Toint32(DropDownList1.SelectedValue.Trim()),Convert.Toint32(DropDownList2.SelectedValue.Trim()));
    SqlDataAdapter ada = new SqlDataAdapter(sql, con);
      

  16.   

    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) = “ + DropDownList1.SelectedValue + ” and month(wtrq) = " + DropDownList2.SelectedValue, con); 
      

  17.   

    上面不小心写错了  是你的SQL字符串拼写错了SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) = " + DropDownList1.SelectedValue + " and month(wtrq) = " + DropDownList2.SelectedValue, con);
      

  18.   

    典型的新手错误,分不清sql语句和C#语句:SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ="+DropDownList1.SelectedValue+" and month(wtrq) = "+DropDownList2.SelectedValue, con);
      

  19.   


    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where convert(varchar(4),year,120)  = “ + DropDownList1.SelectedValue + ” and month(wtrq) = " + DropDownList2.SelectedValue, con); 
      

  20.   

    不好意思麻烦大家了是我SQL语句弄错了,
    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ='+DropDownList1.SelectedValue+' and month(wtrq) = '+DropDownList2.SelectedValue+'", con); 
    要加双引号“”SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) ='" + DropDownList1.SelectedValue + "' and month(wtrq) = '" + DropDownList2.SelectedValue + "'",con);这样就好了,实在对不起大家了!
    谢谢大家的帮助,该给分的我都会给分,不好意思!!
      

  21.   


    SqlDataAdapter ada = new SqlDataAdapter("select * From Tasks where year(wtrq) = " & DropDownList1.SelectedValue & " and month(wtrq) = " & DropDownList2.SelectedValue, con)
      

  22.   

    最好把sql单用一个变量表示 便于用断点查看sql