更新交叉表的数据

昨今明2017 昨今明2017 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有三个表:
表:TT_Roles
字段iRoleID sRoleName
表:TT_Users
字段iUserID sLoginName sPassword
表: TT_User_Role
字段iUserID iRoleID bHave

一个交叉查询的存储过程:
CREATE PROCEDURE dbo.GetUserRole
AS
BEGIN
--声明变量
DECLARE @SqlString nvarchar (4000) --放SQL语句
DECLARE @TempRoleID int --放RoleID
DECLARE @TempRoleName varchar(50) --放RoleName

SET @SqlString = N'select TT_Users.sLoginName 用户名,' --赋值

DECLARE Cursor_UserRole CURSOR FOR --声明游标
SELECT DISTINCT TT_User_Role.iRoleID,sRoleName
FROM TT_User_Role,TT_Roles
WHERE TT_User_Role.iRoleID = TT_Roles.iRoleID
OPEN Cursor_UserRole --打开游标

FETCH NEXT FROM Cursor_UserRole INTO @TempRoleID,@TempRoleName --赋值
WHILE @@FETCH_STATUS = 0 --如果下确执行,则循环下去
BEGIN
SET @SqlString = @SqlString + N'SUM(CASE iRoleID WHEN ' +
CAST(@TempRoleID AS varchar) + N'THEN bHave END) AS " '+
@TempRoleName + '",'
FETCH NEXT FROM Cursor_UserRole INTO @TempRoleID,@TempRoleName
END

CLOSE Cursor_UserRole

SET @SqlString = LEFT(@SqlString,LEN(@SqlString)-1)
SET @SqlString = @SqlString + N'FROM TT_User_Role,TT_Users WHERE TT_User_Role.iUserID = TT_Users.iUserID GROUP BY TT_Users.sLoginName'

EXEC sp_executesql @SqlString
END

在一个DataGrid中显示
问题是可以显示,但是怎么在DataGrid中更新和删除?
...全文

相关推荐

Cognos_交叉表部分行的折叠与展开

**动态更新**:在Cognos中,折叠和展开操作通常是实时的,即改变视图后,其他与之关联的数据也会相应更新。例如,折叠某一区域的行,可能会影响到相关的汇总数据展示。5.

chx3515

abc.rar_ABC_交叉表

实时更新:当用户更改选择时,程序应能即时更新交叉表,显示新的结果。5. 输出和可视化:结果可以以表格、图表或其他形式呈现,便于用户理解和解读。

小波思基

Access数据库技术与应用课件第5章创建交叉表查询与操作查询.ppt

追加查询则是在已有数据的基础上添加新记录,例如将新产生的销售数据追加到已有的销售记录中。更新查询适用于批量修改数据,例如调整商品的销售价格。

zhenlou12

Access数据库技术及应用实训查询Ⅱ——交叉表查询和操作查询PPT教学课件.pptx

在“Access数据库技术及应用实训查询Ⅱ——交叉表查询和操作查询”这个实训中,主要涵盖了两种重要的查询类型:交叉表查询和操作查询,这些都是进行高效数据处理的关键技能。

加油学习加油进步

Access数据库技术及应用实训查询Ⅱ——交叉表查询和操作查询PPT学习教案.pptx

创建交叉表查询通常包括以下步骤:选择数据源,定义行标题(如年份),定义列标题(如图书名称),并指定汇总方式(如求和)。操作查询则是对数据库进行实际修改的一类查询,包括插入、更新、删除等操作。

woshifafuge
评论 5
收藏 已收藏
分享
返回顶部
昨今明2017
MS-SQL Server 34,876 成员 254,635 内容