如何使用C#在Templet里面转换ExecuteNonQuery结果(T)

时间:2017-09-23 03:44:27

标签: c#

如何使用C#在Templet(T)中转换ExecuteNonQuery结果。

我开发新的通用方法是sqlCommand结果是转换里面的任何数据类型。

example

Result<T>.Data =cmd.ExecuteNonQuery();
value is not store data inside.

结果类

public static class Result     {

    public static bool Sucess { get; set; }
    public static T Data { get; set; }
    public static bool ReturnValue { get; set; }

}

1 个答案:

答案 0 :(得分:1)

您可能会从有关数据访问的基本教程中受益。

ExecuteNonQuery() 不会返回Sql结果集。它仅返回受查询影响的行数。您可能需要ExecuteScalar()ExecuteDataReader()

而不是Result<T>,您需要Result<int>Result<string>Result<DateTime>等。当声明时,您会使用T一个通用类或方法,但是当使用您之前声明的泛型类型或方法时,您需要实际类型。

假设您使用ExecuteSclar(),则必须将结果投射到所需的T类型。

您需要该类的实例。而不仅仅是Result<int>.Data =你必须做更多这样的事情:

var result = new Result<int>();
result.Data = (int)cmd.ExecuteScalar();

基本的数据访问教程可能还不够,您可能首先考虑一些基本的C#培训。