sql >> データベース >  >> RDS >> Sqlserver

Dataset DataTable に DataColumns を表示する方法

    TableAdapter の制限により ウィザードでは、DataTable を作成する必要があります コードを使用します。

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

    dataTable を取得した後 これを ReportViewer の DataSource に割り当てるだけです

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

    これらのコード スニペットの大部分はテストされていないことに注意してください。



    1. VBAでADOを使用してPostgreSQLに接続する

    2. Postgresql varcharはUnicode文字の長さまたはASCII文字の長さを使用してカウントしますか?

    3. SQL Server 2012:リンクされたサーバーをPostgreSQLに追加します

    4. トランザクション内のPostgreSQLスキーマ変更の制限はありますか?