我一直在做大量的谷歌搜索寻找答案,似乎找不到任何东西。
基本上我在我尝试创建的程序中有一个CheckedListbox,它包含可以分配给组的安全权限。这些权限存储在我的数据库中的组记录中。
我希望返回的一个例子是
而不是:
我发现这个SQL查询会拉出表列但是那里有原始名称,这不是我想要的。
SELECT COLUMN_NAME
FROM Northwind.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Customers'
我知道这不是最好的方法,但这就是我想出的:
执行标准SELECT查询以检索TOP(0)
SELECT TOP(0) createRecs as 'Create Records',
editRecs as 'Edit Records',
viewRecs as 'View Records',
deleteRecs as 'Delete Records',
payRecs as 'Record Payment Options',
archiveRecs as 'Archive Records',
viewReports as 'View Reports',
exportRecs as 'Export Records',
manageUsers as 'Manage User Accounts',
createUser as 'Create Users',
editUser as 'Edit Users',
deleteUser as 'Delete Users',
resetPass as 'Reset User Passowrd',
disableUser as 'Enable/Disable Users Accounts',
createGroup as 'Create Groups',
editGroup as 'Edit Groups',
deleteGroup as 'Delete Groups'
FROM db_membership
然后在VB.net中给我一个DataTable,它不包含任何数据,但它确实包含我设置为别名的列标题。
现在我使用VB.net中的以下代码遍历DataTable以获取每个列标题并将其放入我的checkedlistbox中。
dt = New DataTable
dt = SQL.fetchSecurityOptions(login.Secure.username)
For Each column As DataColumn In dt.Columns
create_securityOptions_chklist.Items.Add(column.ColumnName)
Next
结果如下:Result
答案 0 :(得分:1)
SELECT createRecs as [Create Records], editRecs as [Edit Records] FROM Northwind.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'membership'
答案 1 :(得分:0)
WHERE Table_Name ='membership'
我不相信你不需要N,但我可能错了,我对SQL很新。