Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как узнать имя пользователя Windows

9.0K
03 мая 2007 года
j_anna
45 / / 10.07.2006
Как узнать имя пользователя Windows, который запустил приложение с использованием TADOConnection к базе на SQL Server? Аутентификация на SQL сервере "SQL and windows".
1
03 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: j_anna
Как узнать имя пользователя Windows, который запустил приложение с использованием TADOConnection к базе на SQL Server? Аутентификация на SQL сервере "SQL and windows".


 
Код:
char buffer[1024];
 unsigned long *size = new unsigned long(1024);
 GetUserName(buffer,size);
 ShowMessage(buffer);
 delete size;

если надо более сложные вопросы используй GetTokenInformation и LookupAccountSid
9.0K
03 мая 2007 года
j_anna
45 / / 10.07.2006
ответ на свой вопрос получила, спасибо, но получается я неправильно вопрос задала :)
мне нужно узнать имя пользователя базы SQL Server, а оно может не совпадать с именем пользователя в Windows. Как это можно сделать, используя компоненты ADO?
1
03 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: j_anna
ответ на свой вопрос получила, спасибо, но получается я неправильно вопрос задала :)
мне нужно узнать имя пользователя базы SQL Server, а оно может не совпадать с именем пользователя в Windows. Как это можно сделать, используя компоненты ADO?


Вы можете использовать для этого CURRENT_USER наприм:

 
Код:
SELECT CURRENT_USER;
go

в хранимке или непосредственно в запросе. Так же можно использовать USER_NAME() - эти функции эквивалентны.
1
03 мая 2007 года
kot_
7.3K / / 20.01.2000
Цитата: j_anna
Как узнать имя пользователя Windows, который запустил приложение с использованием TADOConnection к базе на SQL Server? Аутентификация на SQL сервере "SQL and windows".


Хотя тут не очень понятно, что собственно требуется. Ведь для подключения к серверу у вас уже должно быть имя пользователя - ведь строка подключения както формируется? Или я чегото не понял?

9.0K
04 мая 2007 года
j_anna
45 / / 10.07.2006
так как аутентификация на SQL сервере "SQL and windows", то в строке подключения имя и пароль можно не указывать.
Я сделала через TADODataSet с CommandType=CmdText и в CommandText="select IS_MEMBER ('ИмяДомена\ИмяГруппы')". На форме разместила невидимый DBGrid, связанный с TADODataSet. А в событии OnClick меню формы добавила код
 
Код:
AnsiString s = "";
TDataSet *pDS = DBGridUser->DataSource->DataSet;
s = s + pDS->Fields->Fields[0]->AsString;
TMenuItem *ItemToEdit = mnuMain->Items->Items[0];
if (s==1)
{ItemToEdit->Items[0]->Enabled=false;}
else
{ItemToEdit->Items[0]->Enabled=true;}

Всё работает, но как-то может можно сделать проще?
7.8K
04 мая 2007 года
Hrew
185 / / 23.04.2007
попробуйте так:
 
Код:
ADODataSet1->Close();
ADODataSet1->CommandText="ваш_запрос";
ADODataSet1->Open();
AnsiString User=ADODataSet1->Fields->FieldByNumber(0);

(или возможно не открывать/закрывать, а просто Refresh(), точно не помню).

Или примерно то же самое можно через ADOQuery сделать. Данные ни в какой невидимый грид отображать не нужно.

P.S. В коде возможны неточности, если так не работает - посмотрите справку...
7.4K
07 июня 2007 года
malor
69 / / 20.01.2007
У компонента TConnection есть свойство Password, а где свойство User указывается?

MySQL 5.0.37, Delphi 7, WinXP
1
07 июня 2007 года
kot_
7.3K / / 20.01.2000
Цитата: malor
У компонента TConnection есть свойство Password, а где свойство User указывается?

MySQL 5.0.37, Delphi 7, WinXP


Что за компонент TConnection?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог