Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.29;
Скачать: CL | DM;

Вниз

Аргументы имеют неверный тип, выходят за пределы допустимого...   Найти похожие ветки 

 
McLotos ©   (2013-01-14 15:33) [0]

Доброго времени суток, и снова я ловлю СТОП получая ошибку
Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Как я получаю ошибку:
В общем есть клиент. который чтобы подключиться к серверу должен послать логин и пароль а в ответ получить некое число, которое указывает ему что делать дальше

var
 Account : TStringList;
begin
 Account := TStringList.Create;
 Account.CommaText := Socket.ReceiveText; //получаем строку от клиента
if (Account.Values["Login"]<>"") and (Account.Values["Password"]<>"") // вытягиваем оттуда нужные данные
  then
    begin
      log.Lines.Add (Account.Values["Login"] + " + " + Account.Values["Password"]); //показываем админу сервера
       try
          with ADOQuery do
              begin
               ADOQuery.SQL.Clear;
{вытягиваем из БД значение поля access таблицы access}
               ADOQuery.SQL.Add("SELECT level FROM access WHERE (login=:qlogin) and (passw=:qpassw)");
               ADOQuery.Parameters.ParamByName("qlogin").value := Account.Values["Login"];
               ADOQuery.Parameters.ParamByName("qpassw").value := Account.Values["Password"];
ADOQuery.Active:=true;
{где-то до этой строки программа начинает материться}
ShowMessage(IntToStr(RecordCount)); //а затем радостно нам сообщает что в базе есть 1 такой пользователь
 end;
except
on e:Exception do
 end;
end;
end;



 
sniknik ©   (2013-01-14 15:46) [1]

> {где-то до этой строки программа начинает материться}
пошли ее в ответ да и всех делов то.


 
Ega23 ©   (2013-01-14 15:47) [2]

Во-первых, у тебя утечка памяти: ты не разрушаешь Account.
Во-вторых, зачем with ADOQuery?
В-третьих, его надо закрывать, вообще-то.
В-четвёртых: признайся, сам писал код, или спёр у кого-то?


 
sniknik ©   (2013-01-14 15:49) [3]

вот где проблема
on e:Exception do
 end;


 
sniknik ©   (2013-01-14 15:51) [4]

хрень какая то
with ADOQuery do
              begin
               ADOQuery.SQL.Clear;


 
McLotos ©   (2013-01-14 16:32) [5]

sniknik злой ты =)
Ega23
1. Account не разрушаю потому-что он дальше ещё много где используется. это же не весь код, а только проблемная часть
2. Варианты, предложения, идеи?
3. Я просто пробовал оба варианта и через with do и просто с указанием элемента. в моем посте представлен вариант 2in1
Ну хорошо. как вариант я уберу
with ADOQuery do
всё-равно в представленном примере ADOQuery дописано в каждую строку
Вам от этого станет легче понять моя проблему? Думаю нет
4. Вопрос не относится к теме, поэтому отвечать не обязан =)

sniknik почему хрень? читайте выше, я объяснил этот момент


 
sniknik ©   (2013-01-14 16:42) [6]

> sniknik почему хрень?
эксепты прятать нельзя.
with он не просто так, он для чего то... сначала ставить with а после писать так как будто его нет ... "хрень какая то"

> читайте выше, я объяснил этот момент
где? не вижу.

+
если
> //а затем радостно нам сообщает что в базе есть 1 такой пользователь
доходит до этой строки, и таки сообщает (а не перекидывает в ексепт), то ошибка дебагтайма, можно "забить" на нее.


 
sniknik ©   (2013-01-14 16:45) [7]

++
level access могут быть зарезервированными словами. и тогда может быть типа варнинга, а после работает.
поставь в кавычки []


 
sniknik ©   (2013-01-14 16:45) [8]

+++
login


 
McLotos ©   (2013-01-14 16:59) [9]

> поставь в кавычки []
не понял
где?
в какой части кода?


 
Ega23 ©   (2013-01-14 17:14) [10]


> в какой части кода?

Это твой код, или нет?


 
McLotos ©   (2013-01-14 17:32) [11]

Ega23 Ваши сообщения абсолютно не информативны, варианта 2:
- либо Вы продолжаете забивать форум пустыми по смыслу и содержанию сообщениями,
- либо я просто начинаю Вас игнорировать как пустую переменную. Хотя да, следуя Вашему же совету - Пустую переменную нужно разрушать! =)


 
McLotos ©   (2013-01-14 17:33) [12]

+ не "продолжаете", а "прекращаете"
у меня что-то ошибки в логике начинаются


 
sniknik ©   (2013-01-14 17:42) [13]

> абсолютно не информативны
но от них/ответа(реакции ни них) зависит как тебе отвечать.


 
Ega23 ©   (2013-01-14 17:48) [14]


> - либо я просто начинаю Вас игнорировать как пустую переменную.
>  Хотя да, следуя Вашему же совету - Пустую переменную нужно
> разрушать! =)

Есть третий вариант: я просто проигнорирую твою проблему. Точнее, тебе уже всё ответили. Ну а то, что ты не понимаешь ответов - это уже твои проблемы, не так ли?


 
McLotos ©   (2013-01-14 17:50) [15]

Можно отвечать как угодно, я в программировании уже не первый год, просто на delphi перешёл всего 3-4 дня назад, раньше программировал только на php, надоело, захотелось вспомнить то что в колледже проходил когда-то. Тем более delphi мне сейчас кажется технологией для лентяев, потому-что одно дело когда ты пишешь каждую строчку кода в блокноте и знаешь там каждую букву, и совсем другое, когда большая часть кода появляется при движении мышки по экрану.


 
McLotos ©   (2013-01-14 17:52) [16]


>  это уже твои проблемы, не так ли?

Спасибо, Ega23. Вы очень любезны.


 
sniknik ©   (2013-01-14 17:58) [17]

> просто на delphi перешёл всего 3-4 дня назад
а delphi тут и не причем вообще то.


 
McLotos ©   (2013-01-14 18:03) [18]

> а delphi тут и не при чем вообще то.

да? а в чем тогда проблема? почему выскакивает эта ошибка?

в общем ясно, тему можно уже не посещать, 17 ответов и, извините, ни одного. который реально бы решил проблему, ошибка как была, так и осталась, буду пробовать методом научного тыка, может и найду в чем баг.
Всем спасибо.


 
DVM ©   (2013-01-14 18:13) [19]


> McLotos ©   (14.01.13 15:33) 


> Аргументы имеют неверный тип, выходят за пределы допустимого
> диапазона или вступают в конфликт друг с другом.

Поля login и passw в таблице access какой тип имеют? Какую размерность?

Названия login, acces, level я бы все же поменял, от греха, на что нибудь более уникальное.


 
McLotos ©   (2013-01-14 18:35) [20]

id - int(2)
login - varchar(16)
passw - varchar(32)
level - int(2)


 
Игорь Шевченко ©   (2013-01-14 19:17) [21]

http://ln.com.ua/~openxs/articles/smart-questions-ru.html



Страницы: 1 вся ветка

Текущий архив: 2013.09.29;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.01 c
2-1358163221
McLotos
2013-01-14 15:33
2013.09.29
Аргументы имеют неверный тип, выходят за пределы допустимого...


15-1366453079
Фантазер
2013-04-20 14:17
2013.09.29
Ищу фант.рассказ


8-1231067653
Lamer6666
2009-01-04 14:14
2013.09.29
Интерактивная карта


2-1358233902
Celtic
2013-01-15 11:11
2013.09.29
груповое изменение полей записей


15-1365930191
Y-
2013-04-14 13:03
2013.09.29
Задачка про кривые