我的数据库有现有数据。我正在尝试实施某种安全权利系统。它不需要真正安全......只是限制每个级别可以有效改变的内容。技术上......存在......但需要加强。
我需要调整教师用户的现有权限级别。我有一个查询(qInstructors),它列出了作为教师列出的类表中任何人的DISTINCT查询。总共有38名教师。
现在我需要更新User表来调整那38个人的权利......这就是我被困住的地方。一个简单的更新查询,没问题。但我不能用正确的术语进行搜索,因为我找不到任何东西来帮助我敲定SQL。
UPDATE tblUserList
INNER JOIN tblUserList ON tblUserList.NTID = qInstructors.Instructor
SET tblUserList.Rights = 2
WHERE [NTID]=[Instructor];
当我尝试运行它时,我在JOIN中遇到语法错误。这超出了我的SQL知识......任何线索?
答案 0 :(得分:2)
我建议使用LocalReport
:
ReportViewer reportViewer = new ReportViewer();
reportViewer.ProcessingMode = ProcessingMode.Local;
reportViewer.LocalReport.ReportPath = "Reports.Test.rdlc";
reportViewer.LocalReport.DataSources.Add(myDataSource);
byte[] bytes = reportViewer.LocalReport.Render("PDF");
IN
子句中UPDATE tblUserList
SET tblUserList.Rights = 2
WHERE [NTID] IN (SELECT [Instructor] FROM qInstructors);
的使用因数据库而异。 JOIN
版本是ANSI标准,应该可以在MS Access和您可能使用的任何后端数据库中使用。
答案 1 :(得分:1)
您在tblUserlist
子句中指定了qinstructors
而不是join
。
UPDATE tblUserList
INNER JOIN qInstructors ON tblUserList.NTID = qInstructors.Instructor
SET tblUserList.Rights = 2
答案 2 :(得分:0)
在“设计视图”中创建查询。将类型更改为"更新查询"。
将您的目标表添加到查询中,并添加您现有的"给我讲师"查询也是如此。
将目标表中ID的一行拖到查询返回的相应ID中。
将要更新的字段向下拖动到底部的网格。在"更新到"字段,输入"允许"或" True"或其他任何表明教师允许的东西。