私が行っているプロジェクトのタイムシート アプリをコーディングしようとしていますが、この 1 か月のほとんどの間、システムの重要な部分を進めていません。月曜から日曜までの毎週のビューを介して、データを編集してアプリに追加できるようにする必要があります。毎日入力するデータを返すことができる SQL (サーバー) ピボットがありますが、週の日付に動的ヘッダーを使用しているため、編集する gridview 関数は機能しません。データをバインドしようとしましたが、これには日付に関して同じ問題があります。データを入力してこのように更新するためのテキストボックスを持つフォームを作成する必要があると思いますが、クエリを使用してそのようなフォームにデータを入力するにはどうすればよいですか? また、新しい行を追加できる必要があります。私はこれで私のテザーの終わりにあり、コーディングを放棄する寸前です.
データを正確に表示するSQLは次のとおりです。
ALTER PROCEDURE [dbo].[list_weekly_times]
as
DECLARE @offSetmon int, @fromdt datetime,@todt datetime,@offsetsun int, @COLName varchar (max)
, @SQL varchar (max), @fromdate as date, @todate as date, @offsetmonval as int, @offsetsunval as int
SELECT @offSetmon = 1
select @fromdt = GETDATE()
SELECT @offSetSun = 7
select @todt = GETDATE()
SELECT @fromdt = CONVERT(DATETIME, CONVERT(INT, @fromdt) - (DATEPART(WEEKDAY, @fromdt) - @offSetmon))
SELECT @todt = CONVERT(DATETIME, CONVERT(INT, @todt) - (DATEPART(WEEKDAY, @todt) - @offSetsun))
select @COLName = ''
, @SQL = ''
while @FromDt <= @ToDt
begin
if (@COLName = '')
begin
set @COLName = '[' + convert (varchar (10), @FromDt, 121) + ']'
end
else
begin
set @COLName = @COLName + ', [' + convert (varchar (10), @FromDt, 121) + ']'
end
set @FromDt = dateadd (d, 1, @FromDt)
end
print @COLName
select @SQL = 'select project_code, activity_code,' + @COLName +
' From (select project_code, activity_code, project_date, Project_time from timesheet) as P
pivot
( sum (Project_time)
for project_date in (' + @COLName + ')
) as pvt
order by project_code
'
print @SQL
exec (@SQL)
ピボットはデータ編集ではなくデータ表示用に設計されているため、編集では機能しません。
ピボット アプローチが間違っている可能性があり、別の方向性が必要です。
どんなヘルプ、チュートリアル、例も役に立ちます。