===================================c#部分=========================================================================
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<BrokerUser>));
Stream stream = new MemoryStream();
xmlSerializer.Serialize(stream, data);
var xml = new SqlXml(stream);
ManjayDBEntities entities = new ManjayDBEntities();
entities.ImportBroker(xml.Value);
========================================sql部分========================================================================
USE [ManjayDB]
GO/****** Object: StoredProcedure [dbo].[ImportBroker] Script Date: 11/11/2014 16:48:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ImportBroker] ( @data XML )
AS
BEGIN
DECLARE @handle INT
DECLARE @RealName nvarchar(20), @Mobile varchar(20),@RoleType INT ,@EstateId INT , @IsChecked INT ,@Password varchar(60),@AddTime datetime
EXEC sp_xml_preparedocument @handle OUTPUT, @data,
'<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>'
SELECT *
INTO #temp
FROM OPENXML(@handle, '/ArrayOfBrokerUser/BrokerUser',2)
WITH ( RealName nvarchar(20), Mobile varchar(20),RoleType INT ,EstateId INT , IsChecked INT ,Password varchar(60)
)
EXEC sp_xml_removedocument @handle
--申明游标
Declare Cur Cursor For
SELECT
#temp.RealName ,
#temp.Mobile ,
#temp.RoleType ,
#temp.EstateId ,
#temp.IsChecked,
#temp.Password,
GETDATE()
FROM #temp
Open Cur
Fetch next From Cur Into
@RealName , @Mobile ,@RoleType ,@EstateId , @IsChecked ,@Password ,@AddTime
While @@fetch_status=0
Begin
INSERT INTO dbo.Broker_BrokerUser
( RealName ,
UserName ,
Mobile ,
RoleType ,
EstateId ,
IsChecked ,
Password ,
AddTime,
Account,
Balance,
ParentId
)values
(@RealName ,@RealName , @Mobile ,@RoleType ,@EstateId , @IsChecked ,@Password ,@AddTime,0,0,0)
INSERT INTO dbo.Manjay_BrokerUserRelateEstate
( EstateId ,
BrokerUserId ,
RoleType ,
IsChecked ,
IsLocked ,
AddTime,
Account,
Balance,
ParentId
)values
(@EstateId,@@IDENTITY,@RoleType,@IsChecked,0,@AddTime,0,0,0)
Fetch Next From Cur Into
@RealName , @Mobile ,@RoleType ,@EstateId , @IsChecked ,@Password ,@AddTime
End
Close Cur
Deallocate Cur
END