sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man visar datakolumner i Dataset DataTable

På grund av begränsningarna för TableAdapter guiden måste du skapa DataTable med kod.

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);
    }
}

Efter att ha din dataTable ifyllt, tilldela det helt enkelt till ReportViewers DataSource

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

Observera att en stor del av dessa kodavsnitt är oprövade.



  1. ansluter till mysql med Zend Server CE

  2. Hur räknar man artiklar per kategori?

  3. Inkrementera primärnyckeln automatiskt i SQL Server Management Studio 2012

  4. Hur kan jag stänga Oracle DbLinks i JDBC med XA-datakällor och transaktioner för att undvika ORA-02020-fel?