错误信息:Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.asp,行242 Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07' [Microsoft][ODBC SQL Server Driver][SQL Server]不允许从数据类型 varchar 到数据类型 money 的隐性转换(表 'mydb.dbo.FinancialRecord',列 'FundTypeA')。请使用 CONVERT 函数来运行此查询。 /finance/AddFinancialRecord.asp,行70 第70行数据:
conn.Execute(" insert into FinancialRecord (Name, Department, ProjectName, "_
& "FundTypeA, FundTypeB, " _
& "FundTypeC, FundTypeD, Sum, Summary, Re, AddDate, AccountName) values ("_
& "'" & TheName &"', " _
& "'" & TheDepartment &"', " _
& "'" & TheProjectName &"', " _
& "'" & TheFundTypeA &"', " _
& "'" & TheFundTypeB &"', " _
& "'" & TheFundTypeC &"', " _
& "'" & TheFundTypeD &"', " _
& "'" & TheSum &"', " _
& "'" & TheSummary &"', " _
& "'" & TheRe &"', " _
& "'" & TheDate &"', " _
& "'" & TheAccountName & "') ")

解决方案 »

  1.   

    [Microsoft][ODBC SQL Server Driver][SQL Server]不允许从数据类型 varchar 到数据类型 money 的隐性转换(表 'mydb.dbo.FinancialRecord',列 'FundTypeA')。请使用 CONVERT 函数来运行此查询。---------
    提示很明顯了,如果字段類型是money的話,在數據前後不要加上單引號。TheFundTypeA為money類型,就這麼修改代碼conn.Execute(" insert into FinancialRecord (Name, Department, ProjectName, "_
    & "FundTypeA, FundTypeB, " _
    & "FundTypeC, FundTypeD, Sum, Summary, Re, AddDate, AccountName) values ("_
    & "'" & TheName &"', " _
    & "'" & TheDepartment &"', " _
    & "'" & TheProjectName &"', " _
    & TheFundTypeA &", " _ --去掉這裡前後的單引號
    & "'" & TheFundTypeB &"', " _
    & "'" & TheFundTypeC &"', " _
    & "'" & TheFundTypeD &"', " _
    & "'" & TheSum &"', " _
    & "'" & TheSummary &"', " _
    & "'" & TheRe &"', " _
    & "'" & TheDate &"', " _
    & "'" & TheAccountName & "') ")
    如果表中還有money類型的列,參考上面的方法來修改
      

  2.   

    & "'" & TheSum &"', " _----------------------------------------如果theSum对应的字段是money型,则两边的单引号应该去掉,如:& "" & TheSum &", " _
      

  3.   

    凡是数值型的字段,内部不要加单引号。& "'" & TheSum &"', " _----------------------------------------如果theSum对应的字段是money型,则两边的单引号应该去掉,如:& "" & TheSum &", " _