Пак аз , ама......
12 отговора
330 прегледа
Пак аз , ама......
Но проблема ми е такъв. MySQL - БД. Посредством ZQuery в DBEdit извеждам резултата и го навигирам DBEdit1.DataField:=ZQuery1.Fields[0].FieldName;
и всичко е точно , но ако река да направя промяна на данните DBEdita не ми позволява. Държи се като readonly.
От ZConection до DBEdit съм махнал ReadOnly.
Моля помогнете . Предварително Благодаря.
Много срамежлив си станал днес, не е на добре :)
Ами с ZTable как е?
И виж RequestLive на ZTable.
И виж RequestLive на ZTable.
Re: Пак аз , ама......
Това zQuery има ли RequestLive пропърти, което да е False при теб?
-------------
Special killer double trouble triple extra nicotine monster!
-------------
Special killer double trouble triple extra nicotine monster!
Re: Пак аз , ама......
Прави сте. Позволява редакция , ама после каква каша настъпва. Не е като Парадокса правиш промяната и минаваш на друг ред а той си се грижи за за записа . Тук генерира няква
грешкаааааааааааа.
А ма аз си знам, че ще получа някъв полезен съвет от вас
А ма аз си знам, че ще получа някъв полезен съвет от вас
Re: Да изразя задоволство
от себе си. Намерих проблема и го споделям за да не се шашкат други аматьори като мен
.
Когато използвате ZQery трябва да знаете, че ако например използвате DBGrid и в SQL заявката правиш нещо подобно
Select (IME) Име,(FAM) Фамилия from Name;
за да може в DBGrid имената на колоните да са ти на български
със сигурност ще имате проблеми.
Остава въпроса как сега да ги оправя да са на Български
Когато използвате ZQery трябва да знаете, че ако например използвате DBGrid и в SQL заявката правиш нещо подобно
Select (IME) Име,(FAM) Фамилия from Name;
за да може в DBGrid имената на колоните да са ти на български
със сигурност ще имате проблеми.
Остава въпроса как сега да ги оправя да са на Български
Ами на DataSet.Fields[i].DisplayLabel
Но трябва да са създадени филдовете в дизайн или да ги създадеш в рънтайм от филдсдефс, защото ако оставиш на автоматичното създаване - всеки път като отвориш датасета трябва да установяваш дисплей лейбъла.
Ба си как обичам българския език!
Ако ти се четат сорсове, аз така си създавам полетата рънтайм:
Ба си как обичам българския език!
Ако ти се четат сорсове, аз така си създавам полетата рънтайм:
{}function CreateField(aTable: tTable; const aFieldName: string; aFieldType: tFieldType; aFieldSize: integer = 0; aFieldRequired: Boolean = false): integer;
// Button2.Caption:=IntToStr(CreateField(Table, Edit1.Text, ftInteger, 0));
// -2: ïîëåòî âå÷å ñúùåñòâóâà, íî ÍÅ ñúâïàäàò aFieldName, aFieldSize èëè aFieldRequired
// -1: ïîëåòî âå÷å ñúùåñòâóâà è ñúâïàäàò aFieldName, aFieldSize è aFieldRequired
// 0: ïîëåòî å ñúçäàäåíî OK;
// 1: exception ïðè ñúçäàâàíå íà ïîëåòî
// $80: íÿêàêâà äðóãà ãðåøêà (Íàïð. aTable=nil)
var
xRecNo : integer;
xFieldDef : tFieldDef;
k : integer;
begin
Result:=2;
if aTable<>nil then begin
xRecNo := -1;
with aTable do begin
try
try
if Active then begin
xRecNo := RecNo;
Active := false;
end;{}
{ Exclusive:=true;
if not Exclusive then begin
raise EDatabaseError.Create('TTable.Exclusive must be set to true in order to add an index to the table');
end;
Open;{}
with FieldDefs do begin
Update;
k:=0; xFieldDef:=nil;
while (k<FieldDefs.Count) and (xFieldDef=nil) do begin
if FieldDefs[k].Name=aFieldName then begin
xFieldDef:=FieldDefs[k];
end else begin
inc(k);
end;
end;
if xFieldDef<>nil then begin
if (xFieldDef.DataType=aFieldType) and (xFieldDef.Size=aFieldSize) and (xFieldDef.Required=aFieldRequired) then begin
Result:=-1;
end else begin
Result:=-2;
end;
end else begin
with AddFieldDef do begin
Name := aFieldName;
DataType := aFieldType;
Required := aFieldRequired;
if aFieldType in ftFixedSizeTypes then begin
Size := 0;
end else begin
Size := aFieldSize;
end;
end;
Result:=0;
end;
end;
{
Close;
Exclusive:=true;
if not Exclusive then begin
raise EDatabaseError.Create('TTable.Exclusive must be set to true in order to add an index to the table');
end;{}
CreateTable;
except
Result:=1;
end;
finally
if xRecNo>=0 then begin
Active := true;
RecNo := xRecNo;
end;
end;
end;
end;
end;
Re: Да изразя задоволство
Ако заявкатаг ти е една и съща всеки път, можеш да си добавиш колоните в DBGrid-а в design time - всяка колона си има FieldName (на кое поле съответства) и Title (заглавието, което се показва)
това го оправих още веднага, Но
от вчера се балтавя с някакви си ComboBox-ове.
Значи горе долу проблема е такъв. БД с две колони пр. Ime , Nomer
единият Combo показва Името другият dbCombo номера.
Итемсите и на двата ги зареждам още при FormActivate.
Искам при смяна на единият да се сменя и другият.
Но когато използвам събитието Change на двата ........
май се получава нещо като карамбол. Абе с две думи работата не става
Значи горе долу проблема е такъв. БД с две колони пр. Ime , Nomer
единият Combo показва Името другият dbCombo номера.
Итемсите и на двата ги зареждам още при FormActivate.
Искам при смяна на единият да се сменя и другият.
Но когато използвам събитието Change на двата ........
май се получава нещо като карамбол. Абе с две думи работата не става
Трябва ти флаг, за да знаеш ...
... че си започнал такъв процес.
Може би трябва да е привейт на формата, в активате го правиш трю, като влезеш в един от двата чанджа го проверяваш и сменяш, а на излизане го възстановяваш.
[image]//[линк][/image]
Може би трябва да е привейт на формата, в активате го правиш трю, като влезеш в един от двата чанджа го проверяваш и сменяш, а на излизане го възстановяваш.
[image]//[линк][/image]
Re: ПП ако си прав за т.н. карамбол: стек оверфлоу!
Прав си не е карамбол , но и ефекта не е желаният от мен.
Но как да го направя????
Но как да го направя????
Re: Пак аз , ама......
Повиках неволята и взех, че криво ляво го оправих.
Искам да попитам само как примерно да намеря индекса/позицията/ в итемс на комбобокса, ако му знам текста. Е разбирасе без да го въртя в цикли.
Предварително Ви благодаря.
Искам да попитам само как примерно да намеря индекса/позицията/ в итемс на комбобокса, ако му знам текста. Е разбирасе без да го въртя в цикли.
Предварително Ви благодаря.