在同一sp中插入并选择?

时间:2014-11-27 10:17:58

标签: c# sql asp.net ado.net

在这里,我想出了一个情况,我希望在temp temple中插入记录,并再次想要将该记录显示给用户。

我在sp创建的临时表中创建了一个sp,在该表中添加了记录并从临时表中选择记录。如何在界面中向用户显示记录?

ExecuteNOnquery用于插入记录,ExecuteReader用于选择记录。

使用相同的sp,我有insert和select.So如何在代码后面执行此操作?

2 个答案:

答案 0 :(得分:0)

您应该使用ExecuteReader

所有这一切 - 将CommandText的字符串发送到服务器,执行它,然后构建SqlDataReader以进行读取。

因此,如果您的CommandText is调用存储过程 - 将执行此过程(因此它将插入您的数据并将其选回),并且返回的数据将在SqlDataReader中提供。

有关ExecuteReader

的参考,请参阅MSDN

答案 1 :(得分:0)

你可以做这样的事情

using(var con = new SqlConnection(conStr))
{
    var cmd = new SqlCommand("MY_SP",con);
    cmd.CommandType = CommandType.StoredProcedure;
    var da = new SqlDataAdapter(cmd);
    var ds = new DataSet();
    da.Fill(ds);

    if(ds.Tables.Count > 0)
    {
        foreach(var dr in ds.Tables[0].Rows)
        {
            // Do stuffs with dr
        }
    }
}