من با این روش مشکلم رو حل کردم
public DataTable spFINGetByProjectIDv_Get(int TotalRow, int ProjectID)
{
try
{
DataTable dt = new DataTable();
DataRow dr = default(DataRow);
using (SqlConnection connection = new SqlConnection(_dbConnectionString))
{
SqlCommand command = new SqlCommand();
SqlDataReader reader = default(SqlDataReader);
command.Connection = connection; //New SqlConnection(_dbConnectionString)
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@NumberOfRows", TotalRow);
command.Parameters.AddWithValue("@ProjectID", ProjectID);
command.CommandText = "qcsFIN.spFINGetByProjectIDv";
connection.Open();
reader = command.ExecuteReader();
if (reader.HasRows)
{
int n = 1;
// Call Read before accessing data.
while (reader.Read())
{
if (n == 1)
{
n++;
for (int i = 0; i <= reader.FieldCount - 1; i++)
{
DataColumn dcColumn = new DataColumn();
dcColumn.DataType = reader.Item(i).GetType;
dcColumn.ColumnName = reader.GetName(i).ToString();
dt.Columns.Add(dcColumn);
}
}
dr = dt.NewRow;
for (int i = 0; i <= reader.FieldCount - 1; i++)
{
dr[reader.GetName(i).ToString()] = reader.Item(reader.GetName(i).ToString());
}
dt.Rows.Add(dr);
}
}
// Call Close when done reading.
reader.Close();
}
return dt;
}
catch (Exception ex)
{
throw (new Exception(ex.Message));
return null;
}
}