如何从 Visual Studio 获取 SSMS 中的当前用户 ID?

     2023-04-12     140

关键词:

【中文标题】如何从 Visual Studio 获取 SSMS 中的当前用户 ID?【英文标题】:How to get current user ID in SSMS from Visual Studio? 【发布时间】:2018-08-22 02:56:56 【问题描述】:

我在 Visual Studio 中有一个从 SSMS 加载表数据的程序。现在,无论谁登录,都很难加载特定的表。

在 SSMS 中,我有大学课程表。当用户登录时,我想在 Visual Studio 中运行代码以将他们使用的类(位于 SSMS 中)插入到 Visual Studio 中的表中。

我的问题的根源是:我基本上如何以及在哪个程序中编写“具有(当前 ID)的用户已登录。从 SSMS 获取他们的数据并将其放入表中。

你不一定要回答后面的部分,但我真的很难得到第一部分。获取登录的人员ID。是SCOPE_IDENTITY吗?是 @@IDENTITY 吗?尽力理解this microsoft doc on scope identity.

课程: https://i.imgur.com/IyXaYEZ.png

用户:https://i.imgur.com/2jbyngG.png

信息(在程序顶部加载):https://i.imgur.com/EFBvBgU.png

【问题讨论】:

登录的用户 id 不是 SCOPE_IDENTITY 也不是 @@IDENTITY。但是,它是您的应用程序,您应该知道如何识别登录的人。您的问题不清楚,您的用户不运行 Visual Studio,所以您能描述一下您的应用吗? 这是一个学位报告程序。 (这里是为了好玩,不要担心安全等)。当用户创建帐户时,他们将选择他们所参加的课程。将在 SSMS 中为该用户制作一个表格,其中包括他们所学的所有课程。我想将 SSMS 中的数据加载到 Visual Studio 中的 DataGridView(表)中。 【参考方案1】:

这与身份无关。标识描述了表上的自动递增列。

实现这一点的最简单方法是使用参数化存储过程。当您的用户登录时,您将执行一个过程,该过程将返回该用户 ID 的所有类信息。如果他们每个人都将成为 SQL Server 中的用户/登录名,则可以使用

SELECT DATATBASE_PRINICAL_ID() 

获取他们的 id,但很可能与您的表格数据中的内容不一致。

【讨论】:

感谢您的回复,我会调查的!快速提问。如果我想从 SSMS 中的表中获取用户数据,我应该尝试获取 SSMS 中的用户 ID 还是用户名等任意值? @ColtonHorvath 这取决于。在您的帖子中添加数据示例。 我已经添加了图片。基本上,将根据用户选择并表示他们已完成的课程创建一个新表。当他们登录时,他们的 类表将加载到程序的不同部分。我也会对 Info 表做同样的事情。这就是为什么我问我是否应该让用户创建用户名而不是我试图从 SSMS 获取他们的登录 ID。

如何在 Visual Studio 2012 数据库项目下的智能感知中获取表名?

】如何在VisualStudio2012数据库项目下的智能感知中获取表名?【英文标题】:HowdoIgettablenamesinintellisenseunderVisualStudio2012Databaseproject?【发布时间】:2013-07-0220:24:15【问题描述】:我们最近将存储过程和函数SQL文件的源代码控制从与S... 查看详情

如何从 Visual Studio 项目中获取抑制的代码分析警告列表?

】如何从VisualStudio项目中获取抑制的代码分析警告列表?【英文标题】:HowdoIgetalistofsuppressedcodeanalysiswarningsfromavisualstudioproject?【发布时间】:2014-01-2411:33:28【问题描述】:我已为解决方案中的所有项目启用代码分析。为了克服... 查看详情

如何从 Visual Studio 2022 社区版的单元测试中获取代码覆盖率?

】如何从VisualStudio2022社区版的单元测试中获取代码覆盖率?【英文标题】:HowtogetCodeCoveragefromUnitTestsinVisualStudio2022CommunityEdition?【发布时间】:2022-01-1603:31:19【问题描述】:我已经下载了最新的VS2022v17.1社区版,它没有内置代码... 查看详情

如何在 Visual Studio 中从数据库中获取数据(使用 C#)时使 HTML 行可点击

】如何在VisualStudio中从数据库中获取数据(使用C#)时使HTML行可点击【英文标题】:HowtomakeanHTMLrowclickablewhilefetchingdatafromthedatabase(UsingC#)invisualStudio【发布时间】:2018-08-2517:55:45【问题描述】:我正在用HTML创建表头,对于表数据... 查看详情

如何从使用directx c# visual studio播放的视频中获取和处理每一帧(位图图像​​)

】如何从使用directxc#visualstudio播放的视频中获取和处理每一帧(位图图像​​)【英文标题】:howtogetandhandleeachframe(bitmapimages)fromavideoplayedusingdirectxc#visualstudio【发布时间】:2014-12-3007:57:09【问题描述】:我设计了一个winform应用... 查看详情

从 Visual Studio 负载测试中获取“第一个字节的时间”指标

...每个页面的“第一个字节的时间”(TTFB)。有谁知道我如何将它 查看详情

Visual Studio 2010:如何让代码“管理”[重复]

】VisualStudio2010:如何让代码“管理”[重复]【英文标题】:VisualStudio2010:Howtogetcodetobe"managed"[duplicate]【发布时间】:2013-06-0918:15:59【问题描述】:我从事一个小型C++开源项目。我需要从中获取一些指标。为此,VisualStudio需... 查看详情

如何从 SQL Server Management Studio 中的表生成 CRUD 存储过程

】如何从SQLServerManagementStudio中的表生成CRUD存储过程【英文标题】:HowdoIgenerateCRUDstoredproceduresfromatableinSQLServerManagementStudio【发布时间】:2012-07-2506:59:39【问题描述】:我如何在SSMS中获取一张表并为它自动生成CRUD存储过程?【问... 查看详情

在 Visual Studio 调试器中,如何从内存中打印一系列字节?

】在VisualStudio调试器中,如何从内存中打印一系列字节?【英文标题】:IntheVisualStudiodebugger,howdoIprintarangeofbytesfrommemory?【发布时间】:2018-05-3118:43:40【问题描述】:我需要从我正在调试的应用程序的内存中提取一个特定数量的... 查看详情

如何在 Visual Studio Express 2013(C++) 中获取特定驱动器的当前目录?

】如何在VisualStudioExpress2013(C++)中获取特定驱动器的当前目录?【英文标题】:HowtogetcurrentdirectoryofaspecificdriveinVisualStudioExpress2013(C++)?【发布时间】:2013-12-0404:42:45【问题描述】:我正在将程序从BorlandC++Builder移植到VisualStudio2013(C+... 查看详情

如何从 GitHub 操作中升级 Visual Studio 项目?

】如何从GitHub操作中升级VisualStudio项目?【英文标题】:HowtoupgradeaVisualStudioprojectfromwithinaGitHubaction?【发布时间】:2020-12-1410:35:49【问题描述】:可以使用devenv.exe命令从命令行升级VisualStudio项目,如下所示:devenv.exeSOLUTION_PATH/Upg... 查看详情

如何从命令行编译 Visual Studio 项目?

】如何从命令行编译VisualStudio项目?【英文标题】:HowdoIcompileaVisualStudioprojectfromthecommand-line?【发布时间】:2010-10-0415:05:48【问题描述】:我正在为使用Monotone、CMake、VisualStudioExpress2008和自定义测试的大型C++解决方案编写签出、... 查看详情

如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?

】如何将项目从VisualC++6.0转换为VisualStudioExpress2010?【英文标题】:HowcanIconvertaProjectfromVisualC++6.0toVisualStudioExpress2010?【发布时间】:2012-02-2514:01:29【问题描述】:我在编译带有MicrosoftVisualC++6.0工作区的IntegratingVisionToolkit时遇到问... 查看详情

如何从 Visual Studio 2015 社区(Visual Basic)生成新的 mdb 文件

】如何从VisualStudio2015社区(VisualBasic)生成新的mdb文件【英文标题】:howtogeneratinganewmdbfilefromVisualStudio2015Community(VisualBasic)【发布时间】:2017-02-1307:15:05【问题描述】:我一直在互联网上寻找如何使用VisualStudio2015社区创建mdb或acc... 查看详情

如何从 Visual Studio 调试输出窗口中读取文本

】如何从VisualStudio调试输出窗口中读取文本【英文标题】:Howtoreadintextfromthevisualstudiodebugoutputwindow【发布时间】:2010-03-0709:56:42【问题描述】:我已经阅读了几篇文章,这些文章告诉您如何从附加组件(特别是VisualStudio2008集成... 查看详情

如何从 Visual Studio C# 使用 Office?

】如何从VisualStudioC#使用Office?【英文标题】:HowtouseOfficefromVisualStudioC#?【发布时间】:2010-09-2822:25:57【问题描述】:在VisualStudio中添加对Office的COM互操作的引用的技术是:参考文献添加参考选择COM标签选择MicrosoftOffice11.0对象库... 查看详情

从 Visual Studio 的监视窗口访问 javascript?

】从VisualStudio的监视窗口访问javascript?【英文标题】:Accessingjavascriptfromwatchwindowinvisualstudio?【发布时间】:2012-02-2901:42:34【问题描述】:在后面的代码中设置断点时,我无法执行\'document.getElementbyId(\'foo\')\'并对其进行评估或获... 查看详情

如何在 Visual Studio 2017 中获取堆栈跟踪

】如何在VisualStudio2017中获取堆栈跟踪【英文标题】:HowdoIgetstacktraceinVisualStudio2017【发布时间】:2017-12-3121:17:35【问题描述】:我在VisualStudio的Output窗口中遇到异常,但不知道是什么代码导致了这些异常。我想获得堆栈跟踪,以... 查看详情