Database not assigned

11 отговора 224 прегледа
#1

Database not assigned

Delphi e novo za men i imam slednia problem:
Kogato tragna da vavejdam niakakva informacia v dadena database prez prilojenie mi izliza "Database is not assigned". Molia vi kajete kakvo triabva da napravia za da popravia greshkata. Porovih se dosta i prochetoh dosta neshta, no........

Mnogo vi blagodaria predvaritelno

Отговор
в отговор на ananas #2

Re: Database not assigned

Здравей!
Не си дал никва информация за проблема и поради това не очаквой лавина от отговори.
Според мен не си задал за база данни пътя до базата данни на диска.
Не си спомням точно как е но мисля че на database задаваш нещо от сорта:
c:\mydb.db където mydb.db ти е пътя до файла с данните.

Отговор
в отговор на ananas #3

Re: Database not assigned, but it si connected

Problema e tochno v tova. Na formata v rabotnata sreda puskam 'connected - true' i to se kanektva za bazata. Ukazan pat c:\database\database.gdb primeno za Interbase server, dori mi dava prez database grid da vavejdam informacia. No az iskam otdelno prilojenie za vavejdane na novi danni, toest sazdavam nova forma i sled kato ja startiram i se opitam prez neja da vaveda novi danni v dadena tablica ot bazata mi kazva 'Database not assigned'.

Отговор
в отговор на ananas #4

Re: Database not assigned, but it si connected

Здравей!
Виждам че нещо май миналият път съм си написал псевдонима с кирилица.
Да ти кажа за бази данни сам чел разни уроци но не съм имал възможност и нужда да ги упражня в реално приложение.
Така както ми го обяснянаш обаче оставам с впечатлението че е възможно да не може да се конектнеш с втората форма към базата защото не си се дисконектнал от първата форма. Не разбирам защо не се конектваш по време на изпълнение да правиш каквото правиш и да се дисконекнеш. При следващата операция отново същата тактика.
Дано да съм ти помогнал.
Венцислав Александрийски

Отговор
в отговор на ananas #5

Re: Database not assigned, but it si connected

Във втората форма същия DataSet ли използваш за данните или отделен? Ако е отделен провери дали на него му е зададен кой IBDatabase да използва (дали е попълнено пропъртито Database).

Отговор
в отговор на v_automation #6

Re: Database not assigned, but it si connected

>защо не се конектваш по време на изпълнение да правиш каквото правиш и да се дисконекнеш. При следващата операция отново същата тактика

Грешна тактика!!!

Отговор
в отговор на andrew_nikoloff #7

Re: Database not assigned, new problem

Setnah vsichko neobhodimo i sega mi dava greshka
'Dynamic SQL Error
SQL Error code = -104
Token Unknown - line 1, char 20'
Kakvo pak etova chudo

Отговор
в отговор на ananas #8

Re: Database not assigned, new problem

Ами това означава, че нещо си объркал SQL-лите в Query-то или там какъвто компонент използваш. Погледни ги или ако се притесняваш, че си ги объркал - остави компонента да си ги генерира сам (повечето компоненти имат възможност по зададен SelectSQL да си генерират заявките за Insert, Update, Delete и Refresh). Ако не си наясно кой точно е сбъркания можеш да пробваш да ги изпълниш един по един в някаква конзола или ги побликувай тука.

Отговор
в отговор на andrew_nikoloff #9

Re: Database not assigned, new problem

procedure TMainForm.Button1Click(Sender: TObject);
begin
if Edit1.Text ='' then
MessageDlg('Enter Operator!', mtWarning, [mbOk], 0)
else
begin
IBQuery1.ParamByName('POperator').AsString:=Edit1.Text;
IBQuery1.ParamByName('PCountry').AsString:=Edit2.Text;
IBQuery1.ExecSQL;
MainForm.IBTable1.Refresh;
MainForm.Close;
end
Tova mi e procedurata, a SQL-a mi e samo edin i raboti s Paradox, no s Interbase ne stava, eto go
object IBQuery1: TIBQuery
Database = IBDatabase1
Transaction = IBTransaction1
BufferChunks = 1000
CachedUpdates = False
DataSource = DataSource1
SQL.Strings = (

'Insert into IBDatabase1.gdb (Operator, Country) Values (:POperat' +
'or, :PCountry)')
Left = 168
Top = 152
ParamData = <
item
DataType = ftUnknown
Name = 'POperator'
ParamType = ptUnknown
end
item
DataType = ftUnknown
Name = 'PCountry'
ParamType = ptUnknown
end>

Отговор
в отговор на ananas #10

Re: Database not assigned, new problem

В отговор на:


Insert into IBDatabase1.gdb



!!!


Какво е IBDatabase1.gdb !!!!


Според мене яко си омазал пейзажа. Я земи кажи как ти се казва базата, как ти се казва таблицата, в която искаш да инсъртваш, как ти се казва
TIBDatabase компонента, който ползваш и помисли каква е разликата между всичко изброено. Може и да ти се изясни нещо ...


_ _ _

Time is like a drug. Too much of it kills you.
Отговор
в отговор на ananas #11

Re: Database not assigned, new problem

IBDatabase1.gdb ти е файлът с базата данни, а не таблицата. Insert се вика с име на таблица. Правилният начин за базата е:

IBDatabase1.DatabaseName := 'c:\some_dir\IBDataBase1.gdb';

а SQL-тъ трябва да ти е нещо от сорта на:

INSERT INTO TABLE_NAME(OPERATOR, COUNTRY) VALUES(:POPERATOR, :PCOUNTRY)

Освен това ще ти препоръчам да избягваш да си именоваш колони/таблици и пр. обекти с такива "рисковани" имена като Operator. Много е компютърно свързано. Може на някоя база или бъдеща версия на такава това да се окаже резервирана дума.

Отговор
в отговор на ananas #12

Re: Mnogo Vi blagodaria

Mnogo vi blagodaria za pomoshta!

Отговор