日期:2014-05-18  浏览次数:20925 次

c# 使用xml 将批量数据发送到数据库,但数据格式一直转换不好,请大家帮忙看看。
我用一个xml 向数据库批量写入数据,xml 中有多宗数据类型,datatime ,bool ,float 等,为了传输方便,我将数据类型转换为string 发送到数据库,调用存储过程。
存储过程
CREATE PROCEDURE dbo.StoredProcedure_Point
  (
  @parm Ntext
  )
  AS
  DECLARE @idoc int
  exec sp_xml_preparedocument @idoc output,@parm
  Insert tabPoint(DT,

CNT,ANTSPEED,ANTDIR,DIR,DIS,FD,AMP,OBJ_ID,POINT_MSG)(SELECT * 

FROM  
OPENXML(@idoc, '//Test',2) WITH(DT CTOT(DT) 'DT' , CNT Int

'CNT',ANTSPEED Int 'ANTSPEED', ANTDIR Bit 'ANTDIR', DIR Float

'DIR', DIS Float 'DIS', FD int 'FD', AMP Float 'AMP', OBJ_ID varchar(50)

'OBJ_ID',POINT_MSG varchar(50) 'POINT_MSG'))
  EXEC sp_xml_removedocument @idoc
  RETURN
GO


其中dt 为datatime 类型,antdir 为bit 类型,应该咋样做个转换呢,传过来的是string 试了半天,还是不行。谢谢了

------解决方案--------------------
MSSQL查询分析器中有一个函数可以对数据类型进行转换的,具体是什么,我不太记得了,你去查查看吧!
------解决方案--------------------
cast(字段 as 类型)