关于数据转换语法错误问题。
本人在sqlserver的tswfc表中有个列station(varchar),station表中有三个列分别是id(int),sid(int它是station的编号),name(varchar)。如下表:
id sid name
1 5501 太和
2 5502 清远
................
本人用vs.net调试后网页显示如下错误:
将 varchar 值 '太和' 转换为数据类型为 int 的列时发生语法错误。
本人.net.vb相关代码如下:
1.page_load
Dim da As New SqlDataAdapter("select * from station", cn)
Dim dt As New DataTable
da.Fill(dt)
station.DataSource = dt
station.DataTextField = "name"
station.DataValueField = "id"
station.DataBind()
station.Items.Insert("0", "全部站点")
2.Button1_Click
If Val(station.SelectedValue) > 0 Then sql &= " and tswfc.station=" & station.SelectedValue(代码可以查询所有站点,但单个查就不行了,就显示将 varchar 值 '太和' 转换为数据类型为 int 的列时发生语法错误。)
问题点数:20、回复次数:13Top
1 楼spland(spland)回复于 2005-02-02 14:06:21 得分 0
If Val(station.SelectedValue) > 0 Then sql &= " and tswfc.station=" &
val(station.SelectedValue)Top
2 楼spland(spland)回复于 2005-02-02 14:08:57 得分 0
错了
If Val(station.SelectedValue) > 0 Then sql &= " and tswfc.station='" &
station.SelectedValue & "'"
Top
3 楼xshvv()回复于 2005-02-02 14:23:07 得分 0
spland大哥还是不行,我的button1_click还有一句sql语句
sql = "select *,st.id,st.name from tswfc join station as st on tswfc.station=st.name where 1=1"Top
4 楼xshvv()回复于 2005-02-02 14:33:28 得分 0
up一下,请各位大哥指教。Top
5 楼luckyprg(lucky)回复于 2005-02-02 14:52:14 得分 0
station.Items.Insert("0", "全部站点")这样插入前面的0只是index而已不是SelectedValue
应该这样写
station.Items.Insert("0", new ListItem("0","全部站点"))
不过我这是C#的语法,不知VB.NET是怎样写的。你看一看吧。Top
6 楼xshvv()回复于 2005-02-02 15:02:47 得分 0
晕啊,我不会c#啊,不过可能这里出错的机会不大的。Top
7 楼zhangaipl(烟酒僧)回复于 2005-02-02 15:09:09 得分 20
SQL语句错误的话。先在分析查询器里面调试。。Top
8 楼jhjhzr()回复于 2005-02-02 15:20:10 得分 0
详细错误信息。Top
9 楼JafyLiu(自由的代价)回复于 2005-02-02 15:24:52 得分 0
绑定的时候字段对映错了吧。Top
10 楼xshvv()回复于 2005-02-02 15:40:24 得分 0
绑定字段试了很多还是不行啊。Top
11 楼spland(spland)回复于 2005-02-02 15:54:31 得分 0
tswfc.station=st.name错了
tswfc.station=st.sidTop
12 楼xshvv()回复于 2005-02-02 18:39:17 得分 0
楼上的大哥不行啊。Top
13 楼xuxutj(紫雨)回复于 2005-02-04 11:01:24 得分 0
可能跟web.config文件有关,是不是得加什么东西,但是我不知道怎么加。Top
相关问题
- 存储过程:从字符串转换为 smalldatetime 数据类型时发生语法错误。
- "转换为数据类型为 int 的列时发生语法错误" 和 "列名无效"
- case when 中转换为数据类型为 int 的列时发生语法错误
- 将 varchar 值 '1,2,3,4,5,6' 转换为数据类型为 int 的列时发生语法错误
- 将 varchar 值 'bb ' 转换为数据类型为 int 的列时发生语法错误。
- 将 varchar 值 'bb ' 转换为数据类型为 int 的列时发生语法错误。 (急,在线等)
- 将 nvarchar 值 'Label' 转换为数据类型为 int 的列时发生语法错误!??????
- !求助“将 nvarchar 值 ''1','10','11','3'' 转换为数据类型为 int 的列时发生语法错误。”
- !求助“将 nvarchar 值 ''1','10','11','3'' 转换为数据类型为 int 的列时发生语法错误。”
- 从字符串转换为 datetime 时发生语法错误。




