Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.196.171] |
|
Страницы: (4) 1 2 [3] 4 все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Цитата magsim @ Нужно сделать запрос к баз MySQL (Например SELECT ip FROM host WHERE id=5) и результат поместить в переменную А вот как это сделать не знаю?????? какие нужно использовать компоненты? (SQLConnection1 , SQLQuery) или другие? и как это сделать? Можно ещё так: если курсор в Гриде стоит на текущей записи, либо в полях загружена одна запись, то получить значение непосредственно из запроса, типа: SQLselect.FieldName.value или SQLselect.FieldName.asDataType (различные варианты типа asString, asInteger и т.д.) и присваиваешь в переменные. живой пример: strsave:='insert into mainwork (numwork,datework,debt,from_orgs,to_orgs, isclose) values'; strsave:=strsave+' ('''+DBENumWork.Text+''','''+DBDateWork.Text+''','+FloatToStr(DBNDebt.Value)+','+FloatToStr(kontrid)+','+IBQOrgsPolID.AsString+',0)'; то же самое strsave:='update mainwork set numwork='''+DBENumWork.Text+''',datework='''+DBDateWork.Text+''',debt='+FloatToStr(DBNDebt.Value)+','; strsave:=strsave+'from_orgs='+FloatToStr(kontrid)+',to_orgs='+IBQOrgsPolID.AsString+' where id='+IBQMainWorkID.AsString; |
Сообщ.
#32
,
|
|
|
Цитата shadow_tls @ strsave:='update mainwork set numwork='''+DBENumWork.Text+''',datework='''+DBDateWork.Text+''',debt='+FloatToStr(DBNDebt.Value)+','; strsave:=strsave+'from_orgs='+FloatToStr(kontrid)+',to_orgs='+IBQOrgsPolID.AsString+' where id='+IBQMainWorkID.AsString; А разве это не тоже самое memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); |
Сообщ.
#34
,
|
|
|
Цитата VahaC @ Цитата shadow_tls @ strsave:='update mainwork set numwork='''+DBENumWork.Text+''',datework='''+DBDateWork.Text+''',debt='+FloatToStr(DBNDebt.Value)+','; strsave:=strsave+'from_orgs='+FloatToStr(kontrid)+',to_orgs='+IBQOrgsPolID.AsString+' where id='+IBQMainWorkID.AsString; А разве это не тоже самое memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); Тоже самое, кто спорит, но человек, смотрю полный новичок, так что на мой взгля стоило показать всё. |
Сообщ.
#35
,
|
|
|
shadow_tls Bas VahaC спасибо вам за помощь
а еще такой вопрос по ходу появился...допустим если возникла ошибка при запросе или запуске как сделать чтобы оно не выскакивала а просто поместилась в переменную ? Добавлено Вот например сейчас таким кодом: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DBXpress, FMTBcd, DB, SqlExpr, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Zapros: TButton; Memo1: TMemo; SQLConnection: TSQLConnection; SQLQuery: TSQLQuery; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Connect(Sender: TObject); procedure Disconect(Sender: TObject); procedure ZaprosClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin SQLConnection.Connected := true; end; procedure TForm1.FormCreate(Sender: TObject); begin memo1.Clear; end; procedure TForm1.Connect(Sender: TObject); begin memo1.Lines.Add('Подключение успешно'); end; procedure TForm1.Disconect(Sender: TObject); begin memo1.Lines.Add('Соединение разорвано'); end; procedure TForm1.ZaprosClick(Sender: TObject); begin sqlquery.SQL.Clear; SQLQuery.SQL.Text := 'SELECT * FROM foto WHERE id = 10'; SQLQuery.Active := true; SQLQuery.MoveBy(+1); memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); memo1.Lines.Add(intTostr(SQLQuery.RecordCount)); end; end. у меня выскакивает вот такая ошибка? при закрытие программы... Добавлено вопрос с ошибкой решил добавлением такой процедуры: procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin SQLQuery.Close; SQlquery.Active := false; SqlConnection.Connected := false; end; но вот как всетаки...если есть ошибка поместить в переменную? |
Сообщ.
#37
,
|
|
|
magsim try...except делал?
|
Сообщ.
#38
,
|
|
|
а что это? shadow_tls
|
Сообщ.
#39
,
|
|
|
Цитата magsim @ а что это? операторы для обработки исключений. ПС Есть в любой нормальной книге для начинающих. |
Сообщ.
#40
,
|
|
|
ага я уже нашёл....
procedure TForm1.ZaprosClick(Sender: TObject); begin try sqlquery.SQL.Clear; SQLQuery.SQL.Text := 'SELECT * FROM foto WHERE id = 10'; SQLQuery.Active := true; SQLQuery.MoveBy(+1); memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); memo1.Lines.Add(intTostr(SQLQuery.RecordCount)); Except ShowMessage('Íåèçâåñòíàÿ îøèáêà'); end; end. Вот ошибки выводит [Ошибка] Unit1.pas(72): ';' expected but '.' found [Ошибка] Unit1.pas(74): Declaration expected but end of file found Что не так? |
Сообщ.
#41
,
|
|
|
procedure TForm1.ZaprosClick(Sender: TObject); begin try sqlquery.SQL.Clear; SQLQuery.SQL.Text := 'SELECT * FROM foto WHERE id = 10'; SQLQuery.Active := true; SQLQuery.MoveBy(+1); memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); memo1.Lines.Add(intTostr(SQLQuery.RecordCount)); Except ShowMessage('Íåèçâåñòíàÿ îøèáêà'); end; end; // здесь была ошибка |
Сообщ.
#42
,
|
|
|
Во что то я нечего не понял я еще один end; добавил и все зароботало...почему и зачем она?
procedure TForm1.ZaprosClick(Sender: TObject); begin try sqlquery.SQL.Clear; SQLQuery.SQL.Text := 'SELECT * FROM foto WHERE id = 10'; SQLQuery.Active := true; SQLQuery.MoveBy(+1); memo1.Lines.Add(SQLQuery.Fields[1].AsVariant); memo1.Lines.Add(intTostr(SQLQuery.RecordCount)); Except ShowMessage('Ошибка'); end; end; end. |
Сообщ.
#43
,
|
|
|
Потому что синтаксис оператора try выглядит так
try .... // какой то код except ..... // код который выполнится только если произойдёт исключение end; try .... // какой то код finally ..... // код который выполнится в любом случае end; |
Сообщ.
#44
,
|
|
|
а еще такой вопрос не относящийся к теме...какой функцией можно определить что было введено в edit1.Text.... текст или цифры(может быть с запятой real)?
|
Сообщ.
#45
,
|
|
|
почитай о TryStrToFloat
|