注册 登录
编程论坛 ASP.NET技术论坛

求助:类型转换--我传上来了冰镇柠檬汁儿

yunj1105 发布于 2007-03-30 12:00, 1464 次点击
院系ID
DropDownList1
院系名称
DropDownList2
<asp:DropDownList ID="DropDownList1" runat="server" Width="131px" DataSourceID="SqlDataSource1" DataTextField="dept_ID" DataValueField="dept_ID"></asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:labConnectionString %>"SelectCommand="SELECT [dept_ID] FROM[lab_dept]"></asp:SqlDataSource>//这个绑定成功了
<asp:DropDownList ID="DropDownList2" runat="server" Width="131px" DataSourceID="SqlDataSource2" DataTextField="dept_name" DataValueField="dept_name"></asp:DropDownList>
//SqlDataSource2的SelectCommand是这么写的
select dept_name from lab_dept where dept_ID='"+int.Parse(DropDownList1.Text)+"'
但报错,说类型无法转换
在数据库中,dept_ID是int

[此贴子已经被作者于2007-4-2 9:55:27编辑过]

22 回复
#2
冰镇柠檬汁儿2007-03-30 12:07
select dept_name from lab_dept where dept_ID='"+Int.Parse(DropDownList1.Text)+"'

[此贴子已经被作者于2007-3-30 12:07:40编辑过]

#3
Kendy1234562007-03-30 12:07
你dropdownlist里面的不是数值 当然无法转换

select dept_name from lab_dept where dept_name ='"+DropDownList2.Text +"'

或者
if isnumeric(DropDownList1.Text) then
strSql = "select dept_name from lab_dept where dept_ID='"+DropDownList1.Text+"'"
else
msgbox ("非法的ID!")
exit sub
end if
#4
yunj11052007-03-30 12:11
Kendy123456我是在查询分析器里写语句的,2楼的写上去还是报一样的错
#5
Kendy1234562007-03-30 12:12

查询分析器里能直接引用控件?

#6
bygg2007-03-30 12:43
你先假设 DropDownList1.Text 一个值.放到你写的SQL语句中去执行一下不就明白了.
#7
yunj11052007-03-30 12:50
Kendy123456:不是,是在控件数据绑定时用查询分析器的
bygg:有没有别的方法?
#8
冰镇柠檬汁儿2007-03-30 13:47
DropDownList1.SelectedValue
#9
yunj11052007-03-30 14:05
我去试试
#10
yunj11052007-03-30 14:10
还是不行
#11
冰镇柠檬汁儿2007-03-30 14:18
以下是引用yunj1105在2007-3-30 14:10:26的发言:
还是不行

我想看看你是怎么给DropDownList1绑定数据的
把那段代码发上来好吗

#12
super小峰2007-03-30 14:19
你的这个是在.cs文件里的代码吗?是的话这样写行不?
你的dept_ID是什么数据类型?
#13
yunj11052007-03-30 14:24
我是用的DropDownList任务里的选择数据源绑定的语句是select dept_ID from lab_dept这个绑定成功了
#14
yunj11052007-03-30 14:33

dept_ID是int

#15
sean882007-03-30 14:55
错误最好的解决方法就是单步调试~~~~~~~~~
strSql ="select dept_name from lab_dept where dept_ID='"+ int.Parse(DropDownList1.Text) +"'";//你在这里按一下F9,再按F5调试,QuickWatch看一下DropDownList1.Text是什么值?

[此贴子已经被作者于2007-3-30 14:58:22编辑过]

#16
冰镇柠檬汁儿2007-03-30 15:14
以下是引用yunj1105在2007-3-30 14:24:57的发言:
我是用的DropDownList任务里的选择数据源绑定的语句是select dept_ID from lab_dept这个绑定成功了

我想看看你绑定过程的所有相关代码
你要是不想放上来就算了
反正也不知道你是怎么绑定的,也就看不出来哪里错了,那你自己解决吧

#17
yunj11052007-03-30 15:29
不是不想放上来的,是绑定过程没有代码,我是根据DropDownList任务里的选择数据源的提示一步步绑定的,我也很想让你看啊,我这就发等会啊
#18
yunj11052007-03-30 15:37
只有本站会员才能查看附件,请 登录
我把相关页传上来了
#19
bygg2007-03-30 18:32
你多发点代码出来看看嘛..
#20
windstores2007-03-30 18:47
select dept_name from lab_dept where dept_ID='"+int.Parse(DropDownList1.SelectedValue)+"';

#21
yunj11052007-04-02 10:06
我把代码写上了,大家再来看看啊
#22
bygg2007-04-02 10:14
Dept_Add.aspx
添加数据时,应该是insert into ,而不是insert....
在同一个代码段中重复代码出现太多,Session用得过多(大可用类来实现).....绑定数据最好用代码.....

[此贴子已经被作者于2007-4-2 10:15:10编辑过]

#23
yunj11052007-04-02 10:19
恩,那我现在改改去,类我还不怎么了解,所以不敢用这就补补去谢谢!
1