我想把csv文件里的数据导入到sqlserver数据库表中,读取csv文件里的数据成功,但是当把读取的数据使用insert语句添加到数据库表中时出错,提示下面的数据类型转换出错错误:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'FMode' 转换为数据类型为 int 的列时发生语法错误。
/usa111/exp1/upfile2.asp, 第 142 行
<%
FTitle=ROW(0)
FCode=ROW(1)
FMode=ROW(2)
dim a
a=2
'a=FMode
FShortTitle=ROW(3)
'FClassID=ROW(4)
'FBrandId=ROW(5)
'FSpecial=ROW(6)
'FNew=ROW(7)
'FLowerPrice=ROW(8)
'FWeekly=ROW(9)
'FPrice1=ROW(10)  'Convert(int,FPrice1)
'FPrice2=ROW(11)
'FPrice3=ROW(12)
'FPrice4=ROW(13)
'FInputer=ROW(14)
'FHits=ROW(15)
'FLock=ROW(16)
FContent=ROW(17)
FContent2=ROW(18)
FIncludePic=CStr(ROW(19))
FDefaultPicUrl=ROW(20)
FUploadFiles=ROW(21)
FSmallPic=ROW(22)
FBigPic=ROW(23)
'FHits=row(FHitsindex)
response.Write(FCode+"<br>")
response.Write("读取数据成功!<br>")
sql="insert into tblProduct(FTitle,FCode,FMode,FShortTitle,FInputer,FContent,FContent2,FDefaultPicUrl,FUploadFiles,FSmallPic,FBigPic) values('"&FTitle&"','"&FCode&"','"&FMode&"','"&FShortTitle&"','"&FInputer&"','"&FContent&"','"&FContent2&"','"&FDefaultPicUrl&"','"&FUploadFiles&"','"&FSmallPic&"','"&FBigPic&"')"
rs.Open sql, conn
response.Write("导入数据成功!")
%>使用的是asp+vb请帮帮忙,先谢了!!!!!

解决方案 »

  1.   

    将 varchar 值 'FMode' 转换为数据类型为 int 的列时发生语法错误。
    不是讲的很清楚?
      

  2.   

    楼主在values中的每个字段值两边都加上了引号, 结果统统变成字符串了... 估计是因为引号太多,加得顺手习惯了.
    数据类型是不要引号的.
      

  3.   

    sql="insert into tblProduct(FTitle,FCode,FMode,FShortTitle,FInputer,FContent,FContent2,FDefaultPicUrl,FUploadFiles,FSmallPic,FBigPic) values('"&FTitle&"','"&FCode&"'," & FMode & ",'"&FShortTitle&"','"&FInputer&"','"&FContent&"','"&FContent2&"','"&FDefaultPicUrl&"','"&FUploadFiles&"','"&FSmallPic&"','"&FBigPic&"')"你数据库里面FMode定义的类型是Int的,这样你在写插入语句的时候就不用加单引号