Flyinsky

志在四方,浪迹天涯

导航

SqlCommand.ExecuteReader

MSND上的解释如:

CommandText 发送到 Connection 并生成一个 SqlDataReader

最近在项目中发现个问题,(美国来的PACKAGE)

myCommand.CommandText = "Insert into .... "

SqlDataReader dr = myCommand.ExecuteReader()

while(dr.Read())
{
  Guid  oId = (Guid)dr["oId"];
}

初看代码的时候会以为可以返回 INSERT 进去的 记录,

可运行时发现 Guid  oId = (Guid)dr["oId"];  这一句永远不会运行,

试验几次,发现只有运行SELECT语句时才会 得到 有值 的 SqlDataReader。

解决方法:

1,运用存储过程,利用参数得到 ["oId"] 。(推荐)

2,INSERT 后再通过SELECT 检索出刚插入的数据。(效率较低)

这个项目的框架很值得学习,不过一些小问题也让我大跌眼睛,取长补短,呵呵。

posted on 2004-04-17 13:19  flyinsky  阅读(1079)  评论(0编辑  收藏  举报