C#SQL,获取受UPDATE

时间:2018-06-07 01:06:22

标签: c# sql

基本上,我想知道可能的是如何在执行存储过程后从新更新的行中检索数据。

例如,假设我们有一个简单的SQL存储过程

sp_PROCS_UPDATE_UpdateUserName:

    UPDATE users SET Name = "David";

由此,我希望能够检索更新名称的实际记录,而不仅仅是计数。

这对C#来说是否可行?

2 个答案:

答案 0 :(得分:2)

假设您使用的是SQL Server,请尝试以下操作:

UPDATE users SET Name = "David" output inserted.*;

答案 1 :(得分:1)

以下是使用System.Data.SqlClient命名空间的代码段,您可能还需要using System.Data

此代码示例将执行查询并返回受影响的行。

var affectedRows = -1;
var cs = ""; // your connection string
try 
{
    var cn = new SqlConnection(cs);
    cn.Open();
    using (var cmd = cn.CreateCommand())
    {
        cmd.CommandText = your_query; // TBD;
        var prm = new SqlParameter("prm", value); // as needed
        cmd.Parameters.Add(prm); // as needed
        affectedRows = cmd.ExecuteNonQuery();
    }
    /// and if you have nothing else to do.
    cn.Close();
    cn.Dispose();
    cn = null;

}
catch(Exception ex)
{
    System.Diagnostics.Trace.TraceError("Whoops! {0}", ex);
    // error handling
}

希望这有帮助!