155144

2008年5月12日14时28分

导航

11-SqlCommand.ExecuteReader相关

1)SqlCommand.ExecuteReader(CommandBehavior.CloseConnection)

command的属性为CommandBehavior.CloseConnection时,在关闭dr时会自动关闭conn;

2)将 CommandText 发送到 Connection 并生成一个 SqlDataReader

当COMMAND的属性CommandType为CommandType.Text,且command.CommandText="INSERT INTO..."时,SqlCommand.ExecuteReader执行了INSERT语句,并且把数据插入了数据库,但是没有返回SqlDataReader.

获取插入的数据时,可以更改CommandType为CommandType.StoredProcedure,存储过程为:

    ALTER PROCEDURE dbo.AddCustomer
       (
        
@ID int
,
        
@Name nvarchar(60
),
      
       )
    
AS

        
        
INSERT INTO
               Customers (ID, Name)
        
VALUES
               (
@ID, @Name)
            
        
SLECT *

            
FROM Users
        
WHERE

               ID
= @ID
        
        
RETURN

此时,可以返回SqlDataReader.

3)在执行Sql插入后执行SELECT SCOPE_IDENTITY()可以获取最后插入ID

在查询语句后面,增添一 个SELECT SCOPE_IDENTITY()的查询,这查询将返回当前同一个操作范围内插 入IDENTITY字段的最后那个identity 值。(详见
技术文档中关 于SCOPE_IDENTITY()的内容以及为什么你应该使用SCOPE_IDENTITY()而不是 @@IDENTITY)。确认在添加SELECT语句前,你在INSERT语句后面添一个分号 。

posted on 2008-05-18 12:24  155144  阅读(327)  评论(0编辑  收藏  举报