Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
ВнизОшибка в запросе при проверке пользователя MSSQL 2000 Найти похожие ветки
← →
oleg777 © (2005-12-20 08:58) [0]Пишу так:
Query1.Close;
Query1.SQL.clear;
Query1.SQL.Add("select USER_NAME()");
Query1.Open;
Как присвоить результат переменной?
Если так, то ошибка
p1:= Query1.Fields[1].AsString;
Как правильно?
← →
SeZuka © (2005-12-20 09:08) [1]p1:= Query1.Fields[0].AsString;
← →
oleg777 © (2005-12-20 11:33) [2]Не а все равно ошибка:
"List index out of bounds(0)"
← →
sniknik © (2005-12-20 11:45) [3]ну если у тебя и нулевого поля нет, значит рекордсет не открыт (/не создан)
← →
oleg777 © (2005-12-20 11:55) [4]Так где же в запросе ошибка? :(
Когда пробую в SQL Query Analyzer запрос работает.
← →
sniknik © (2005-12-20 12:00) [5]какая ошибка?
в приведенном коде ([0]) ошибок нет, если не считать уже указанной в [1].
← →
oleg777 © (2005-12-21 09:05) [6]И ошибок нет и результата нет.
Так как все-таки правильно запрашивать имя пользователя с сервера из Делфей?
← →
sniknik © (2005-12-21 11:48) [7]нет ошибок и нет результата это всетаки разные вещи...
имхо основной "глюк" у тебя в том, что перед 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 12:27) [8]Большое спасибо
← →
sniknik © (2005-12-21 12:35) [9]можно проще
SET NOCOUNT ON
DECLARE @UsrName VarChar(30)
SET @UsrName = USER_NAME()
SELECT @UsrName
← →
oleg777 © (2005-12-22 09:16) [10]Все бы хорошо, но есть еще один глюк: вместо первого символа стоит символ #(когда пользователь в русской кодировкой), что в первом варианте что во втором. Смена кодировки не помогает.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c