|
#1
|
|||
|
|||
Стек переполнен?
Теперь другая прроблема появилась ...
в общем у меня все происходит так ..пользователь подключился,зарегистрировался или авторизовался,занес свой ник в список онлайн пользователей,хочет обновить о себе инфу включая и ник .. Значит что происходит :1)Удаляем сначала из списка пользователей его старый ник ; 2)Обновляем данные и заносим в бд ; 3)Добавляем новый ник в список пользователей ,и рассылаем этот список клиентам. вот собстно код : Код: Код:
procedure TForm1.Button3Click(Sender: TObject); var tmp_query: string; i:integer; begin //УДАЛЕНИЕ СТАРОГО НИКА!!! adoquery4.sql.Add('SELECT nick FROM table1 '); adoquery4.sql.Add(' WHERE login='+quotedStr(Edit2.Text)); adoquery4.sql.Add(' and pass='+quotedstr(edit4.text)); ADOQuery4.open; edit3.Text:=inttostr(ADOQuery4.RecordCount); if ADOQuery4.RecordCount <> 0 then begin s:=ADOQuery4.Fields.Fields[0].AsString; listbox1.Items.delete(listbox1.Items.IndexOf(s)); end ; //ОБНОВЛЕНИЕ ДАННЫХ ADOQUery1.Active:=false; DAtaSource1.Enabled:=false; tmp_query:=ADOQUERY1.SQL.Text; adoquery1.sql.text:='UPDATE table1 SET'#13#10+ ' id = ' + QuotedStr(Edit1.Text) + ','#13#10 + 'info = '+ QuotedStr(Edit7.Text) + ','#13#10 + ' ip = ' + QuotedStr(Edit5.Text) + ','#13#10 + ' nick = ' + QuotedStr(Edit6.Text) + #13#10 + 'WHERE login ='+QuotedStr(Edit2.Text)+ #13#10 + 'AND pass = ' +QuotedStr(Edit4.text); ADOQuery1.ExecSQL; ADOQuery1.SQL.Text :=tmp_query; ADOQUery1.Active:=true; Datasource1.Enabled:=true; //СОСТАВЛЕНИЕ НОВОГО СПИСКА ЮЗЕРОВ {Добавляем его в юзер лист} ListBox1.Items.Add(Edit6.Text); {Записываем в s команду для посылки нового списка юзеров} s := '#U'; for i := 0 to ListBox1.Items.Count-1 do s := s+ListBox1.Items[i]+';'; {...и рассылаем этот список всем клиентам} for i := 0 to Ss1.Socket.ActiveConnections-1 do Ss1.Socket.Connections[i].SendText(s); Exit; end; Первый раз все прекрасно обновляется..но когда я хочу обновить во второй раз данные о себе то получаю еррор Stack overloff . Что мне делать? |
#2
|
||||
|
||||
А у вас значение adoquery4.sql.text при втором вызове Button3Click чему равно?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
ээ то есть это значение очищать надо?
|