sql >> Database >  >> RDS >> Sqlserver

Hoe gegevenskolommen in Dataset DataTable weer te geven

Vanwege de beperkingen van de TableAdapter wizard, moet u de DataTable . maken met behulp van code.

DataTable dataTable;

using (SqlConnection sqlConn = new SqlConnection())
{
    sqlConn.Open();

    using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter())
    using (sqlDataAdapter.SelectCommand = sqlConn.CreateCommand())
    {

        sqlDataAdapter.SelectCommand.CommandType = CommandType.Text;
        sqlDataAdapter.SelectCommand.CommandText = '
            SELECT * FROM (
                SELECT timeclock.dtTimeIn, timeclock.dtTimeOut, employees.sfirstname,
                    RANK() OVER ( ORDER BY dtTimeIn) rk1, --earliest record gets 1
                    RANK() OVER (ORDER BY dtTimeOut DESC) rk2 --latest record gets 1

                FROM TimeClock INNER JOIN
                    Employees ON TimeClock.lEmployeeID = Employees.lEmployeeID
                WHERE (dtTimeIn > dateadd(day, datediff(day, 0, getdate())-1, 0)) AND (dtTimeOut < dateadd(day, datediff(day, 0, getdate()), 0)) AND (sDept IN ('1', '2', '3'))
            ) A
            WHERE rk2=1';

        sqlDataAdapter.Fill(dataTable);
    }
}

Nadat u uw dataTable is ingevuld, wijst u het gewoon toe aan de DataSource van de ReportViewer

ReportDataSource rds = new ReportDataSource(dataTable.TableName, dataTable);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);

Houd er rekening mee dat een groot deel van deze codefragmenten niet is getest.



  1. Hoe Drupal 7 bewerkbaar veld in tabel alleen voor beheerders te maken

  2. PostgresSQL-installatie mislukt:initialisatie van databasecluster mislukt MAC os

  3. `Ongeldige tekenfout` tijdens het uitvoeren van de Oracle-procedure met `getclobval()`

  4. Herstel na verkeerde MySQL-updatequery?