如何获取登录用户的显示名称?不是用户名,而是显示名称,如下面的屏幕截图所示 - 以及任何Windows Vista/7计算机的开始菜单中显示的名称.

我从其他问题尝试了一堆不同的建议,但它们都显示了用户名,而不是显示名称.您可以在上面的屏幕截图中看到这些尝试的结果.
Imports System.Security.Principal
Imports System.Threading
Imports System.IO
Imports System
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox("1: " & System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString & vbCrLf & _
"2: " & Environment.UserDomainName & vbCrLf & _
"3: " & WindowsIdentity.GetCurrent().Name & vbCrLf & _
"4: " & Thread.CurrentPrincipal.Identity.Name & vbCrLf & _
"5: " & Environment.UserName & vbCrLf & _ …Run Code Online (Sandbox Code Playgroud) 我的数据库文件名是crystal.mdf,我尝试在此链接VB.net和SQL Server 2005的帮助下添加登录设置独立应用程序的数据库密码
我可以使用密码和用户名使用sql server身份验证登录.
问题是,我可以使用Windows身份验证打开数据库.这将允许用户(如果用户是技术人员并且想要挖掘的东西)来更改数据库上的值,这可能会给我的应用程序带来错误.
出于安全考虑,我不希望用户使用Windows身份验证打开数据库,因为我将在不同的地方部署应用程序.
总结一下,
我想禁用Windows身份验证(这甚至可能吗?)如果没有,我怎么能,至少使数据库安全,用户将无法通过Windows身份验证打开它?
编辑
我想创建一个基于 5 列数据表的数据表。另外,我想删除最后一列(它是图像列)。
基本上,我想要的是(伪代码)
datatable = datagridview.datasource
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个,但失败了:
Dim dt As New DataTable
dt = TryCast(dgvCarAccidentInjury.DataSource, DataTable)
Run Code Online (Sandbox Code Playgroud)
和这个,
Dim dt As New DataTable(dgvCarAccidentInjury.DataSource)
Run Code Online (Sandbox Code Playgroud)
我又失败了。我在c#专栏上看到了这个,但我不知道如何将它转换为vb.net,也许这是解决方案,但我不知道VB中的语法。
DataTable data = (DataTable)(dgvMyMembers.DataSource);
Run Code Online (Sandbox Code Playgroud)
我可以通过手动循环来完成,但是有没有像 C# 上那样简单的方法?
编辑 我已经通过执行这行代码手动设置了 datagridview 的数据,
dgvCarAccidentInjury.Rows.Add(New String() {"test1", "test2", "test3", "test4"})
Run Code Online (Sandbox Code Playgroud)
另外,还有第五列(图像列),实际上它是空的。抱歉,我错过了这一重要点。
编辑
这个问题的解决方案是这样的,通过手动循环。
Dim dt As New DataTable
Dim r As DataRow
dt.Columns.Add("a", Type.GetType("System.String"))
dt.Columns.Add("b", Type.GetType("System.String"))
dt.Columns.Add("c", Type.GetType("System.String"))
dt.Columns.Add("d", Type.GetType("System.String"))
For i = 0 To dgvCarAccidentInjury.Rows.Count - 1
r = dt.NewRow
r("a") = dgvCarAccidentInjury.Item(0, i).Value.ToString
r("b") = dgvCarAccidentInjury.Item(1, i).Value.ToString …Run Code Online (Sandbox Code Playgroud) 我有一个string包含:2011年12月14日上午9:45(注意"AM"没有大写")
现在我想datetime用它创建一个变量.
我试着看这个,但它与我想要的相反.我也试过这个,但失败了.到目前为止我尝试过的是:
Dim dateNow As DateTime
Dim out As String = "14 Dec 2011 9:45 am"
dateNow = DateTime.ParseExact(out, "d MMM yyyy HH:mm tt", Nothing)
Run Code Online (Sandbox Code Playgroud)
但遗憾的是它不起作用.任何的想法?谢谢.VB.net或C#代码都没关系..
我有两张桌子,比如A和B.
表:A
ID_Sender | Date
________________________
1 | 11-13-2013
1 | 11-12-2013
2 | 11-12-2013
2 | 11-11-2013
3 | 11-13-2013
4 | 11-11-2013
Run Code Online (Sandbox Code Playgroud)
表:B
ID | Tags
_______________________
1 | Company A
2 | Company A
3 | Company C
4 | Company D
Run Code Online (Sandbox Code Playgroud)
结果表:
Tags | Date
____________________________
Company A | 11-13-2013
Company C | 11-13-2013
Company D | 11-11-2013
Run Code Online (Sandbox Code Playgroud)
我已经用MAX(DATE)尝试了这个GROUP BY但是没有运气就失败了,我做了一些内部连接和子查询但是没能产生输出.
这是我到目前为止的代码,以及附加输出的图像.
SELECT E.Tags, D.[Date] FROM
(SELECT A.ID_Sender AS Sendah, MAX(A.[Date]) AS Datee …Run Code Online (Sandbox Code Playgroud) 我正在使用PDFSharp开展一个项目.可悲的是,作为VB.Net开发人员,他们提供的示例是用C#编写的.我遇到了检查变量是否存在的问题null.
在C#上,代码声明如下
PdfDictionary resources = page.Elements.GetDictionary("/Resources");
if (resources != null)
'do stuff here
Run Code Online (Sandbox Code Playgroud)
我有第二行的问题,
if(resources!= null)
到目前为止,这是我在VB上所做的,我也从sLaks 读过这个博客.
昏暗的资源如新的PdfDictionary?()
但它给了我一些错误.
简单地设置资源以nothing产生其默认值,可以是int,或者无论如何.我希望它与NULL进行比较.
这是完整的代码.