![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка в запросе при проверке пользователя MSSQL 2000 [D6, MSSQL]
oleg777 © (2005-12-20 08:58:00)Пишу так:
Query1.Close;
Query1.SQL.clear;
Query1.SQL.Add('select USER_NAME()');
Query1.Open;
Как присвоить результат переменной?
Если так, то ошибка
p1:= Query1.Fields[1].AsString;
Как правильно?
oleg777 (2005-12-22 09:16:00) [1]Все бы хорошо, но есть еще один глюк: вместо первого символа стоит символ #(когда пользователь в русской кодировкой), что в первом варианте что во втором. Смена кодировки не помогает.
sniknik (2005-12-21 12:35:00) [2]можно проще
SET NOCOUNT ON
DECLARE @UsrName VarChar(30)
SET @UsrName = USER_NAME()
SELECT @UsrName
oleg777 (2005-12-21 12:27:00) [3]Большое спасибо
sniknik (2005-12-21 11:48:00) [4]нет ошибок и нет результата это всетаки разные вещи...
имхо основной "глюк" у тебя в том, что перед Query1 нет приставки ADOQuery1...
и изза этого запрашивать придется не так как правильно а так как получится.
например вместо "select USER_NAME()" выполнить
SET NOCOUNT ON
CREATE TABLE #t (UsrName VarChar(30))
INSERT INTO #t (UsrName) VALUES (USER_NAME())
SELECT * FROM #t
DROP TABLE #t
oleg777 (2005-12-21 09:05:00) [5]И ошибок нет и результата нет.
Так как все-таки правильно запрашивать имя пользователя с сервера из Делфей?
sniknik (2005-12-20 12:00:00) [6]какая ошибка?
в приведенном коде ([0]) ошибок нет, если не считать уже указанной в [1].
oleg777 (2005-12-20 11:55:00) [7]Так где же в запросе ошибка? :(
Когда пробую в SQL Query Analyzer запрос работает.
sniknik (2005-12-20 11:45:00) [8]ну если у тебя и нулевого поля нет, значит рекордсет не открыт (/не создан)
oleg777 (2005-12-20 11:33:00) [9]Не а все равно ошибка:
"List index out of bounds(0)"
SeZuka (2005-12-20 09:08:00) [10]p1:= Query1.Fields[0].AsString;