17. januar 2002 - 10:42Der er
22 kommentarer og 2 løsninger
While virker ikke
Hvad er der galt her den tilføjer ikke noget i min memo1
with DataSource3.DataSet do begin First; while not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); end; Next; end; mysqlquery3.Active := false;
with DataSource3.DataSet do begin First; While not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); Next; end; mysqlquery3.Active := false;
with DataSource3.DataSet do begin First; while not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); Next; end; mysqlquery3.Active := false; end;
with DataSource3.DataSet do begin First; while not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); Next; end; mysqlquery3.Active := false; end;
procedure TForm2.Timer1Timer(Sender: TObject); begin mysqlquery3.SQL.Text := \'select * from CU where til = \'\'\'+form1.DataSource1.DataSet.FieldByName(\'user_id\').AsString+\'\'\' order by msg_id\'; mysqlquery3.Active := true; with DataSource3.DataSet do begin First; while not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); Next; end; end; mysqlquery3.Active := false; Timer1.Interval := 500000;
Der er det galt at dit dataset er TOMT og derfor er EOF TRUE og du kommer aldrig ind i din WHILE løkke, hvis du kom det ville du få den første record en million/milliard gange da din next som sagt står det forkerte sted.
du sætter linen ind i formen\'s OnShow eller OnCreate eller OnActivate event\'s, men hvis det er for at fylde en combobox, hvorfor så bruge en timer ??
ok.... vent jeg opretter en ny...så lav det lig der inde... eller du kan bare lave det her...så sætter jeg flere point på
Ok jeg skal først skal jeg hente
mysqlquery3.SQL.Text := \'select * from CU where til = \'\'\'+form1.DataSource1.DataSet.FieldByName(\'user_id\').AsString+\'\'\' order by msg_id\'; mysqlquery3.Active := true; with DataSource3.DataSet do begin First; while not Eof do begin memo1.Lines.Add(FieldByName(\'besked\').AsString); Next; end; end;
og det der står i FieldByName(\'fra\').AsString skal være en trigger til
mysqlquery5.sql.text := \'select * from chat_user where user_id = \'\'\'+FieldByName(\'besked\').AsString+\'\'\';
også skal den skrive det user_name den har fundet i mysqlquery5 (datasource4) og texten der hedder besked fra datasource3
procedure TForm2.Timer1Timer(Sender: TObject); begin mysqlquery3.SQL.Text := \'select * from CU where til = \'\'\'+form1.DataSource1.DataSet.FieldByName(\'user_id\').AsString+\'\'\' order by msg_id\'; mysqlquery3.Active := true; memo1.Lines.Clear; with DataSource3.DataSet do begin First; while not Eof do begin mysqlquery5.sql.text := \'select * from tinychat_user where user_id = \'\'\'+FieldByName(\'fra\').AsString+\'\'\'\'; mysqlquery5.Active := true; with Mysqlquery5.DataSetField do begin mysqlquery5.First; while not Eof do begin memo1.Lines.Add(\'Fra\'+mysqlquery5.FieldByName(\'user_name\').AsString+\'->\'+ FieldByName(\'besked\').AsString); Next; mysqlquery5.Next; mysqlquery5.Open; mysqlquery5.Close; end; end; end; end; mysqlquery3.Active := false; Timer1.Interval := 4000;
mysqlquery4.SQL.Text := \'select * from CU where fra = \'\'\'+form1.DataSource1.DataSet.FieldByName(\'user_id\').AsString+\'\'\' order by msg_id\'; mysqlquery4.Active := true; memo2.Lines.Clear; with DataSource2.DataSet do begin First; while not Eof do begin memo2.Lines.Add(FieldByName(\'besked\').AsString); Next; end; end; Timer1.Interval := 4000;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.