Меню

Missing sql property delphi ошибка

When trying to execute the code:

function TDBClass.addNome(nome: String): String;
var
  rsnome: TADOQuery;
begin
  rsnome := TADOQuery.Create(nil);
  rsnome.Connection := connection;
  rsnome.Open();
  rsnome.SQL.Clear;
  rsnome.SQL.Text:='UPDATE enroll SET nome = "test" where id ="1"';
  rsnome.Parameters.ParamByName('nome').Value:= nome;
  rsnome.ExecSQL;
  rsnome.post();
  rsnome.Close();
  rsnome.Free();
end;

I’m receiving the error message «Missing SQL property». Where did I go wrong?
Thanks in advance!

Garett's user avatar

Garett

16.5k5 gold badges56 silver badges63 bronze badges

asked Nov 30, 2011 at 12:43

Albert E. Souza's user avatar

You’re calling rsnome.Open before setting the SQL by rsnome.SQL.Text := ....

answered Nov 30, 2011 at 12:47

Ondrej Kelle's user avatar

Ondrej KelleOndrej Kelle

36.8k2 gold badges67 silver badges127 bronze badges

2

I don’t think you want to use Open at all, and you are using parameters incorrectly.
i.e. the SQL doesn’t have any :PARAM placeholders in it. I think it should be something like: rsnome.SQL.Text:='UPDATE enroll SET nome = :NOME where id = :ID';

See this example:
AdoQuery Error using parameters

Community's user avatar

answered Nov 30, 2011 at 13:03

Chris Thornton's user avatar

Chris ThorntonChris Thornton

15.5k5 gold badges36 silver badges62 bronze badges

1

You have several errors. You’re calling Open before you’ve assigned ths SQL (and without needing to do so).

You’re trying to set a parameter value you haven’t created a parameter to accept. (BTW, I’d make ID also a parameter, so you can use this to update more than one person’s name.)

You’re not handling making sure that things get cleaned up in case there’s an error (which given the code you posted there certainly will be).

You’re using Post, which isn’t necessary with an SQL database.

Try something like this instead:

function TDBClass.addNome(nome: String): String;
var
  rsnome: TADOQuery;
begin
  rsnome := TADOQuery.Create(nil);
  try
    rsnome.Connection := connection;
    rsnome.SQL.Clear;
    rsnome.SQL.Text:='UPDATE enroll SET nome = :nome where id ="1"';
    rsnome.Parameters.ParamByName('nome').Value:= nome;
    rsnome.ExecSQL;
    rsnome.Close();
  finally
    rsnome.Free();
  end;
end;

answered Nov 30, 2011 at 13:59

Ken White's user avatar

Ken WhiteKen White

122k14 gold badges219 silver badges437 bronze badges

0

0 / 0 / 0

Регистрация: 04.03.2011

Сообщений: 25

1

22.03.2011, 15:24. Показов 28485. Ответов 20


Присоединил DBGrid к DataSoutce1, начинаю создавать столбцы и прикреплять к FieldName и при открытии FieldName выходит ошибка ADOQuery1: Missing SQL property. Хотя первую форму создал без проблем, работает нормально, а вот вторая не хочет.

Добавлено через 10 минут

Цитата
Сообщение от I_Inquisitor
Посмотреть сообщение

Присоединил DBGrid к DataSoutce1, начинаю создавать столбцы и прикреплять к FieldName и при открытии FieldName выходит ошибка ADOQuery1: Missing SQL property. Хотя первую форму создал без проблем, работает нормально, а вот вторая не хочет.

Все, я понял в чем косяк, забыл завести новые поля в ADOQuery.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Супер-модератор

8781 / 2532 / 144

Регистрация: 07.03.2007

Сообщений: 11,873

22.03.2011, 15:34

2

I_Inquisitor, а разве эта ошибка не говорит о том, что у тебя запроса нет в этом объекте?



0



0 / 0 / 0

Регистрация: 04.03.2011

Сообщений: 25

22.03.2011, 15:39

 [ТС]

3

Цитата
Сообщение от Lord_Voodoo
Посмотреть сообщение

I_Inquisitor, а разве эта ошибка не говорит о том, что у тебя запроса нет в этом объекте?

Запроса там быть не должно, он будет исполняться потом при нажатии кнопки.



0



72 / 64 / 3

Регистрация: 13.05.2010

Сообщений: 349

22.03.2011, 16:40

4

Цитата
Сообщение от I_Inquisitor
Посмотреть сообщение

начинаю создавать столбцы и прикреплять к FieldName

а почему бы тебе просто не выводить данные — результат запроса в DBGrid, без первоначальной его подготовки??



1



0 / 0 / 0

Регистрация: 04.03.2011

Сообщений: 25

22.03.2011, 16:43

 [ТС]

5

Цитата
Сообщение от Ksenya100
Посмотреть сообщение

а почему бы тебе просто не выводить данные — результат запроса в DBGrid, без первоначальной его подготовки??

Не совсем понимаю как это? Не надо настраивать поля? Но мне нужны русские названия столбцов, если не настроить они будут соответствовать названиям полей таблицы БД. Или нет…



0



Ksenya100

72 / 64 / 3

Регистрация: 13.05.2010

Сообщений: 349

22.03.2011, 17:17

6

пишешь запрос

SQL
1
SELECT column1 AS твое_название, column2 AS твое_название_второго_столбца.... WHERE  тут_твои_условия

ну и можно менять местами column’ы….



1



I_Inquisitor

0 / 0 / 0

Регистрация: 04.03.2011

Сообщений: 25

22.03.2011, 17:25

 [ТС]

7

Цитата
Сообщение от Ksenya100
Посмотреть сообщение

пишешь запрос

SQL
1
SELECT column1 AS твое_название, column2 AS твое_название_второго_столбца.... WHERE  тут_твои_условия

ну и можно менять местами column’ы….

Создать грид из двух полей таблицы как-то так?

T-SQL
1
select column1 as ФИО, column1 as Email, CusFIO, CusEmail from tCustomer



0



Ksenya100

72 / 64 / 3

Регистрация: 13.05.2010

Сообщений: 349

22.03.2011, 18:16

8

SQL
1
SELECT CusFIO AS ФИО, CusEmail AS Email FROM tCustomer



1



0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

17.09.2011, 22:09

9

не могу разобраться помогите..
Создаю ADOConnection и подключаюсь к БД Access. Создаю ADOQuery, и в ее свойстве Connection выбираю из списка ADOConnection. Затем создаю DataSource и в свойстве DataSet выбираю ADOQuery. И наконец создаю таблицу DBGrid где выбираю нужный DataSourse. Не могу понять где теперь подключать нужную мне таблицу из БД? В каком объекте и какое это свойство?

А еще направьте где посмотреть как сделать так чтобы БД автоматически находилась из того же каталога где находится и программа.

Добавлено через 13 минут
м.. разобралась как связать. но вопрос — но полю-счетчику группировку при этом выходит делать нельзя?
И вопрос «как сделать так чтобы БД автоматически находилась из того же каталога где находится и программа.» еще актуален.



0



SAMZ

1263 / 706 / 62

Регистрация: 21.12.2009

Сообщений: 2,255

18.09.2011, 06:21

10

В среде Delphi есть такая функция

Delphi
1
GetDir(0,sPath);

,
которая возвращает в строковой переменной sPath полный путь к каталогу, из которого Вы запускаете программу. Если использовать эту функцию, то после

Delphi
1
2
GetDir(0,sPath);
DBName := sPath + '<здесь имя файлы вашей БД>'

то в переменной DBName получите полный путь к БД, при условии, что файл с БД действительно лежит там же где и программа. Если в этом есть сомнения, то лучше

Delphi
1
2
3
4
5
6
  GetDir(0,sPath);
  if FileExists(sPath + '<здесь имя файлы вашей БД>') then begin
    <здесь последовательность операторов, когда файл БД найден>;
  end else begin
   <здесь последовательность операторов, когда файл БД не найден>;
  end;



1



Minyta

0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

18.09.2011, 15:42

11

да бд всегда находится в том же каталоге где и программа.
А в каком событии писать этот программный код? при активизации формы на которой ADOConnection?

вот что получилось:

Delphi
1
2
3
4
5
6
7
procedure TForm1.FormActivate(Sender: TObject);
var sPath: string;
    DBName: string;
begin
  GetDir(0,sPath);
  DBName := sPath + '<bd>'
end;

Как я понимаю DBName это тоже текстовая переменная? Которая теперь хранит путь к БД?
А как теперь сделать чтобы ADOConnection считывал этот путь?



0



0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

22.09.2011, 20:19

12

Подскажите пжс! Очень жду ответа.



0



1263 / 706 / 62

Регистрация: 21.12.2009

Сообщений: 2,255

23.09.2011, 06:30

13

Цитата
Сообщение от Minyta
Посмотреть сообщение

Как я понимаю DBName

DBName — это свойство объекта TpFIBDataBase и оно действительно строковое



1



0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

23.09.2011, 08:17

14

А как его теперь передать ADOConnection для считывания..?



0



deeller

39 / 39 / 4

Регистрация: 20.04.2011

Сообщений: 789

Записей в блоге: 1

23.09.2011, 09:07

15

при создании формы присваивай значение:

Delphi
1
adoconnection.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'*имя файла базыданных*;Persist Security Info=False'



1



0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

23.09.2011, 09:25

16

deeller, вечером дома попробую. Сейчас я без делфи. Спасибо))
А «при создании формы» в смысле при активизации(TForm1.FormActivate) да?



0



39 / 39 / 4

Регистрация: 20.04.2011

Сообщений: 789

Записей в блоге: 1

23.09.2011, 09:27

17

TForm1.FormCreate



1



0 / 0 / 0

Регистрация: 18.02.2010

Сообщений: 37

23.09.2011, 09:55

18

пасибо. буду пробовать)



0



1496 / 1238 / 244

Регистрация: 04.04.2011

Сообщений: 4,356

23.09.2011, 19:44

19

Но открывать запрос в OnCreate не следует !



0



39 / 39 / 4

Регистрация: 20.04.2011

Сообщений: 789

Записей в блоге: 1

26.09.2011, 09:13

20

речь о коннекте идет вроде бы или я упустил суть?



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

26.09.2011, 09:13

Помогаю со студенческими работами здесь

Нужна помошь с sql запросом в ADOQuery1
Вот через ADOQuery1.sql пишу запрос

как между строками вставить перенос каретки ??
пробывал…

ADOQuery1
Приветствую. Столкнулся с проблемкой, подскажите пожалуйста.
В общем использую код, чтобы создать…

AdoQuery1
Ошибка возникает при сохранении данных &quot;adoQuery:cannot perform this operation on a closed dataset&quot;…

ADOQuery1.SaveToFile() …
Доброго времени суток! Имею БД Access к которой подключаюсь с помощью ADOConnection, далее в…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20


Форум программистов Vingrad

Модераторы: Snowy, MetalFan, bems, Poseidon

Страницы: (2) Все [1] 2 
( Перейти к первому непрочитанному сообщению )

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> Помогите с AdoQuery 

V

   

Опции темы

Juiko
Дата 27.6.2011, 10:43 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

Всем доброго дня!
Помогите пожалуйста разобраться.
Есть программа, работающая с базой данных. Там настроено подключение к SQL-серверу, всё работает отлично.
Но когда я попыталась подключить копию базы в MS Access для личного пользования появляются ошибки. При попытке выставить свойство Active в значение True у AdoQuery, возникает шибка Missing SQL property. Почему?

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 10:49 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Цитата(Juiko @  27.6.2011,  11:43 Найти цитируемый пост)
Но когда я попыталась подключить копию базы в MS Access 

Как понять «копию базы MS Access», если база у нас в SQL?

Цитата(Juiko @  27.6.2011,  11:43 Найти цитируемый пост)
Missing SQL property. Почему? 

Вероятно, потому что отсутствует свойство AdoQuery.SQL.Text ?

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 10:55 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

копию базы в акцессе потому что для личного пользования дома мне админы наши дали так.

а со свойством AdoQuery.SQL.Text..да, его вроде как нет..но изначально же всё работало и работает..программу писала не я , дали дорабатывать. Я с делфи в первый раз работаю, поэтому извините если где-то что-то не понимаю.

но в подключении к SQL и у AdoTable и у AdoQuery свойство Active стоит False..тогда как оно подключается и работает?

Это сообщение отредактировал(а) Juiko — 27.6.2011, 11:02

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 11:06 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Цитата(Juiko @  27.6.2011,  11:55 Найти цитируемый пост)
копию базы в акцессе

Отсюда вывод: SQL уже и ни при чём. smile

Цитата(Juiko @  27.6.2011,  11:55 Найти цитируемый пост)
а со свойством AdoQuery.SQL.Text..да, его вроде как нет.

Вполне вероятно, что его нет, и оно задаётся динамически в коде программы. Равно как опосля сего в коде задаётся AdoQuery.Active:=true;

Цитата(Juiko @  27.6.2011,  11:55 Найти цитируемый пост)
дали дорабатывать.

Вот переработай её под Access. Строку подключения, кстати, изменила, надеюсь?

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 11:16 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

разумеетсяsmileпрограмма запускается, но когда дело доходит до выполнения запросов вылетает в ошибки..пыталась в настройках АдоКвери менять — выскакивает вышеуказанная ошибка.
не посоветуете кстати большой умной книжки где про это подробно написано?

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 11:41 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Цитата(Juiko @  27.6.2011,  12:16 Найти цитируемый пост)
выскакивает вышеуказанная ошибка.

Если у AdoQuery свойство .SQL.Text отсутствует, то разумеется, работать не будет.

Цитата(Juiko @  27.6.2011,  12:16 Найти цитируемый пост)
не посоветуете кстати большой умной книжки где про это подробно написано? 

На форуме примеров по работе с ADO масса. smile А так — в любой книге про работу с БД из Дельфи описывается ADO.

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 11:43 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

Цитата
Если у AdoQuery свойство .SQL.Text отсутствует, то разумеется, работать не будет.

вот мне и непонятно, как оно работает то без этого свойства или где оно указано. и соответсвенно что такого нужно сделать, и что и где нужно сделать чтобы заработало у меня. 

спасибо за направление, пойду копать и разбиратьсяsmile

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 13:08 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Цитата(Juiko @  27.6.2011,  12:43 Найти цитируемый пост)
 или где оно указано. 

В коде программы, вероятно. А что должен делать запрос?

Цитата(Juiko @  27.6.2011,  12:43 Найти цитируемый пост)
, и что и где нужно сделать чтобы заработало у меня. 

Прописать в коде, я же говорил уже.

Цитата(Juiko @  27.6.2011,  12:43 Найти цитируемый пост)
 пойду копать 

Сильно не копай. smile 

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 13:31 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

этот конкретный запрос заполняе TBGrid.

Код

procedure TForm4.Button1Click(Sender: TObject);
var
   God:string[7];
   Mes:string[5];
   Den:string[5];
   Par:string[10];
   Stan:string[10];
   Data1:string[15];
   Data2:string[15];
   n,m: integer;
   Znach:string[10];
begin
   Form4.ProgressBar1.Visible:=True;
   Form4.ProgressBar1.Min:=0;
   Form4.DBGrid1.Visible:=False;
   Form4.StringGrid1.Visible:=False;
   Case Form4.ComboBox1.ItemIndex of
   0: Mes:='01';
   1: Mes:='02';
   2: Mes:='03';
   3: Mes:='04';
   4: Mes:='05';
   5: Mes:='06';
   6: Mes:='07';
   7: Mes:='08';
   8: Mes:='09';
   9: Mes:='10';
   10: Mes:='11';
   11: Mes:='12';
   end;
   God:=Form4.ComboBox2.Items[Form4.ComboBox2.ItemIndex];
   Case Form4.ComboBox3.ItemIndex of
   0: Stan:='37701';
   1: Stan:='33702';
   2: Stan:='33603';
   3: Stan:='32703';
   4: Stan:='38701';
   5: Stan:='36701';
   end;
   Case Form4.ComboBox4.ItemIndex of
   0: Par:='FOF2';
   1: Par:='HF2';
   2: Par:='F2M3000';
   3: Par:='F2Dif';
   4: Par:='FMin';
   5: Par:='FOEs';
   6: Par:='HEs';
   7: Par:='FOF1';
   8: Par:='HF1';
   9: Par:='F1M3000';
   10: Par:='HPF2';
   11: Par:='FOE';
   12: Par:='HE';
   13: Par:='FBEs';
   14: Par:='EsTip';
   15: Par:='FXI';
   16: Par:='';
   end;
   If Mes<>'12' then Den:=Copy(DateToStr(StrToDate('01.'+IntToStr(StrToInt(Mes)+1)+'.'+God)-1),1,2)
   else Den:='31';
   If Par='' then
      begin
         Data1:='01.'+Mes+'.'+God;
         Data2:=Den+'.'+Mes+'.'+God;
         DataModule3.ADOTable1.Close;
         DataModule3.ADOTable1.Filtered:=False;
         DataModule3.ADOTable1.Filter:='Ind = '+''''+Form4.ComboBox3.Items[Form4.ComboBox3.ItemIndex]+''''+' and Date >= '''+ Data1+ ''''+' and Date <= '''+ Data2+ '''';
         DataModule3.ADOTable1.Filtered:=True;
         DataModule3.ADOTable1.Open;
         DataModule3.ADOTable1.First;
         Form4.DBGrid1.Visible:=True;
         Form4.Button3.Enabled:=False;
      end
   else
      begin
         DataModule3.ADOTable1.Filtered:=False;
         For n:=1 to 24 do
            begin
               For m:=1 to 31 do
                  begin
                     Form4.StringGrid1.Cells[n,m]:='';
                  end;
            end;
         Form4.StringGrid1.Visible:=True;
         Form4.StringGrid1.DefaultColWidth:=36;
         Form4.StringGrid1.DefaultRowHeight:=18;
         Form4.StringGrid1.ColCount:=25;
         Form4.StringGrid1.RowCount:=StrToInt(Den)+1;
         Form4.StringGrid1.ColWidths[0]:=60;
         For n:=0 to 23 do Form4.StringGrid1.Cells[n+1,0]:=IntToStr(n);
         For m:=1 to StrToInt(Den) do Form4.StringGrid1.Cells[0,m]:=DateToStr(StrToDate(IntToStr(m)+'.'+Mes+'.'+God));
         DataModule3.ADOQuery1.SQL.Clear;
         DataModule3.ADOQuery1.SQL.Add('SELECT Date, Time, '+Par+' FROM dbo.Ionka WHERE (Ind = '''+Stan+''') AND (Date >= CONVERT(DATETIME, '''+God+'-'+Mes+'-01'+' 00:00:00'', 102)) AND (Date <= CONVERT(DATETIME, '''+God+'-'+Mes+'-'+Den+' 00:00:00'', 102))');
         DataModule3.ADOQuery1.Open;
         Form4.ProgressBar1.Position:=0;
         Form4.ProgressBar1.Max:=StrToInt(Den)*24;
         For m:=1 to StrToInt(Den) do
            begin
               For n:=0 to 23 do
                  begin
                     If DataModule3.ADOQuery1.Locate('Date;Time',VarArrayOf([StrToDate(IntToStr(m)+'.'+Mes+'.'+God),StrToTime(IntToStr(n)+':00')]),[]) then
                        begin
                           Znach:=Trim(DataModule3.ADOQuery1.FieldByName(Par).AsString);
                           If (Znach='//0') or (Znach='/0') then Form4.StringGrid1.Cells[n+1,m]:='0';
                           ......
                           If (Znach='//9') or (Znach='/9') then Form4.StringGrid1.Cells[n+1,m]:='R';
                           If (Znach='/') then Form4.StringGrid1.Cells[n+1,m]:='G';
                           If (Znach[1]<>'/') and (Znach[1]<>'') then Form4.StringGrid1.Cells[n+1,m]:=Znach;
                        end
                     else
                        Form4.StringGrid1.Cells[n+1,m]:='';
                     Form4.ProgressBar1.Position:=Form4.ProgressBar1.Position+1;
                  end;
            end;
         Form4.Button3.Enabled:=True;            
         DataModule3.ADOQuery1.First;
      end;
   DataModule3.ADOQuery1.Close;
   Form4.ProgressBar1.Visible:=False;
end;

вот как то так дело было

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 14:51 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Во-первых, DbGrid, во-вторых, он не заполняется, а получает данные из подключённого к нему источника.
В-третьих, в данном коде всё же присутствует заполнение AdoQuery1.SQL.Text:

Код

         DataModule3.ADOQuery1.SQL.Add('......');

Добавлено через 1 минуту и 17 секунд

Цитата(Juiko @  27.6.2011,  11:55 Найти цитируемый пост)
но в подключении к SQL и у AdoTable и у AdoQuery свойство Active стоит False..тогда как оно подключается и работает?

Наверное, в  коде программы оно меняется на .True. smile

Это сообщение отредактировал(а) Данкинг — 27.6.2011, 14:51

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 14:52 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

а почему тогда не работает?

просто я правда не вижу ни одной причины почему бы ему не работать..

Добавлено через 2 минуты и 38 секунд

Цитата
Наверное, в  коде программы оно меняется на .True.  

да, это я уже понялаsmile

Это сообщение отредактировал(а) Juiko — 27.6.2011, 14:54

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 14:59 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Цитата(Juiko @  27.6.2011,  15:52 Найти цитируемый пост)
а почему тогда не работает?

Если ты в конструкторе пытаешься сделать AdoQuery активным, то ясное дело, что вылезет ошибка, поскольку свойства .SQL.Text у него ещё нет; это свойство задаётся к коде.

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 15:06 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

да..это я тоже уже поняла что конструктор трогать вообще не надо было.
но если сделать строку подключения к акцессу и запустить программу то выскакивает ошибка вроде «не найден файл dbo.mdb»..тоесть я так понимаю он к таблице не может подключиться..а вот почему — не могу понять..по идее в коде то написано всё..

Это сообщение отредактировал(а) Juiko — 27.6.2011, 15:17

PM MAIL ICQ   Вверх
Данкинг
Дата 27.6.2011, 15:29 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Yersinia pestis
****

Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130

Код со строкой подключения покажи.

———————

There’s nothing left but silent epitaphs.

PM MAIL WWW   Вверх
Juiko
Дата 27.6.2011, 15:33 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Новичок

Профиль
Группа: Участник
Сообщений: 22
Регистрация: 27.6.2011

Репутация: нет
Всего: нет

я делаю шаг за шагом, всё как помощник просит..а он потом всякое дописывает там..

Код

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:Documents and SettingsjulkaÐàáî÷èé ñòîëionka_by_JuikoIonosfera_DB.mdb;Mode=ReadWrite;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
PM MAIL ICQ   Вверх



















Страницы: (2) Все [1] 2 

Ответ в темуСоздание новой темы
Создание опроса
Правила форума «Delphi: Для новичков»
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) — крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


Проблема с базой данных .mdb в delphi 7

От:

lyonya.ku

 
Дата:  07.12.13 20:26
Оценка:

-2
:)

Всем доброго дня. Помогите мне пожалуйста с delphi 7!
При выполнении процедуры (ниже) выдает ошыбку «ADOQuery1: Missing SQL property».

procedure TForm2.OpenDB(var OpenDlg: TOpenDialog);
var
i, j, newPos, rowscount:integer;
tmp: string;
begin
procedure TGame.OpenDB(var OpenDlg: TOpenDialog);
var
i, j, newPos, rowscount:integer;
tmp: string;
begin
if open = false then
begin
try
OpenDlg.InitialDir := GetCurrentDir() + ‘Data’;
OpenDlg.Execute;
if OpenDlg.FileName <> » then
begin
SelFile := OpenDialog1.FileName;

AdoQuery1.ConnectionString := ‘Provider=Microsoft.Jet.OLEDB.4.0;Data Source=’ + SelFile + ‘;Persist Security Info=False’;
AdoQuery1.Open;

rowscount := AdoQuery1.RecordCount;
setlength(RowsValues, rowscount);

ADOQuery1.Recordset.MoveFirst;
for i:=0 to rowscount do
begin
RowsValues[i] := VarToStr(ADOQuery1.Recordset.Fields[‘Слово’].Value);
ADOQuery1.Recordset.MoveNext;
end;

for j := 0 to high(RowsValues) — 1 do
begin
tmp := RowsValues[j];
newPos := Random(high(RowsValues));
RowsValues[j] := RowsValues[newPos];
RowsValues[newPos] := tmp;
end;

end;
open := true;
AdoQuery1.Close;
except
ShowMessage(‘Ошибка при открытии.’)
end;
end;
end;

Что это такое и как это исправить?

PS: я почти не знаю ничего про SQL и новичек в delphi.


Re: Проблема с базой данных .mdb в delphi 7

От:

LuciferArh

Россия

 
Дата:  09.12.13 07:47
Оценка:

1 (1)

Здравствуйте, lyonya.ku, Вы писали:

LK>Что это такое и как это исправить?

Вестимо как: хоть что-то почитать про SQL и Delphi. RTFM, как говорится…

LK>PS: я почти не знаю ничего про SQL и новичек в delphi.

Ага… Сессия, запары… Да все понятно. Но вот как же поубивать хочется таких вот «программистов», чтоб не отсвечивали… И не позорили КАСТУ.

http://nick-name.ru/img.php?nick=LuciferArh&sert=2]


Re: Проблема с базой данных .mdb в delphi 7

От:

DarkMaster

Украина

http://www.bdslib.at.ua
Дата:  09.12.13 08:53
Оценка:

Здравствуйте, lyonya.ku, Вы писали:

LK>При выполнении процедуры (ниже) выдает ошыбку «ADOQuery1: Missing SQL property».

ADOQuery1.SQL.Text:='SELECT СПИСОК_ПОЛЕЙ FROM ИМЯ_ТАБЛИЦЫ';

перед ADOQuery1.Open…

WBR, Dmitry Beloshistov AKA [-=BDS=-]


Re[2]: Проблема с базой данных .mdb в delphi 7

От:

LuciferArh

Россия

 
Дата:  09.12.13 13:21
Оценка:

Здравствуйте, DarkMaster, Вы писали:

DM>

DM>ADOQuery1.SQL.Text:='SELECT СПИСОК_ПОЛЕЙ FROM ИМЯ_ТАБЛИЦЫ'; 
DM>


DM>перед ADOQuery1.Open…

Не-а…

[sarcasm]
SELECT Знания FROM Учебник WHERE Армия IS «пока не забрали»
[/sarcasm]

Думаю, это будет более правильный запрос…

http://nick-name.ru/img.php?nick=LuciferArh&sert=2]


Re[3]: Проблема с базой данных .mdb в delphi 7

От:

DarkMaster

Украина

http://www.bdslib.at.ua
Дата:  09.12.13 14:21
Оценка:

Здравствуйте, LuciferArh, Вы писали:

LA>[sarcasm]

LA>SELECT Знания FROM Учебник WHERE Армия IS «пока не забрали»
LA>[/sarcasm]

LA>Думаю, это будет более правильный запрос…

Тяга людей к халяве более сильна, чем к знаниям — это факт. Этот хоть Query использует (обычно с Table начинают ) и что-то попытался сам сделать.

WBR, Dmitry Beloshistov AKA [-=BDS=-]


Re[2]: Проблема с базой данных .mdb в delphi 7

От:

lyonya.ku

 
Дата:  09.12.13 16:52
Оценка:

Здравствуйте, DarkMaster, Вы писали:

DM>Здравствуйте, lyonya.ku, Вы писали:


LK>>При выполнении процедуры (ниже) выдает ошыбку «ADOQuery1: Missing SQL property».

DM>

DM>ADOQuery1.SQL.Text:='SELECT СПИСОК_ПОЛЕЙ FROM ИМЯ_ТАБЛИЦЫ'; 
DM>


DM>перед ADOQuery1.Open…

Спасибо!!!


Re[2]: Проблема с базой данных .mdb в delphi 7

От:

lyonya.ku

 
Дата:  09.12.13 17:05
Оценка:

Здравствуйте, LuciferArh, Вы писали:

LA>Здравствуйте, lyonya.ku, Вы писали:


LK>>Что это такое и как это исправить?


LA>Вестимо как: хоть что-то почитать про SQL и Delphi. RTFM, как говорится…


LK>>PS: я почти не знаю ничего про SQL и новичек в delphi.


LA>Ага… Сессия, запары… Да все понятно. Но вот как же поубивать хочется таких вот «программистов», чтоб не отсвечивали… И не позорили КАСТУ.

Зачем убивать??? Вы сами таким тоже были. Или вы родились уже профи програмистом? Все учатся. Я только 2-й месяц дельфи учу.

А почитать — сделаю. Про дельфи уже читаю.


Re[3]: Проблема с базой данных .mdb в delphi 7

От:

lyonya.ku

 
Дата:  09.12.13 17:08
Оценка:

Здравствуйте, LuciferArh, Вы писали:

LA>Здравствуйте, DarkMaster, Вы писали:


DM>>

DM>>ADOQuery1.SQL.Text:='SELECT СПИСОК_ПОЛЕЙ FROM ИМЯ_ТАБЛИЦЫ'; 
DM>>


DM>>перед ADOQuery1.Open…

LA>Не-а…


LA>[sarcasm]

LA>SELECT Знания FROM Учебник WHERE Армия IS «пока не забрали»
LA>[/sarcasm]

LA>Думаю, это будет более правильный запрос…

Да, наверное правильный, но он выполняется долго. Мне нужно сначала сделать программу. А потом и этот запрос выполню


Re[3]: Проблема с базой данных .mdb в delphi 7

От:

Figaro

Россия

 
Дата:  10.12.13 02:46
Оценка:

Смысл в другом… читай и сразу пробуй… Эт в начале 90-х не было книг и инета, но мы т как то смогли… Иногда благодаря FIDOнету


Re[2]: Проблема с базой данных .mdb в delphi 7

От:

irbis3003

 
Дата:  10.12.13 03:36
Оценка:

Здравствуйте, LuciferArh, Вы писали:

LA>Ага… Сессия, запары… Да все понятно. Но вот как же поубивать хочется таких вот «программистов», чтоб не отсвечивали… И не позорили КАСТУ.

Напомнило

Автор: irbis3003
Дата: 08.06.11


Re[4]: Проблема с базой данных .mdb в delphi 7

От:

LuciferArh

Россия

 
Дата:  10.12.13 09:37
Оценка:

Здравствуйте, Figaro, Вы писали:

F>Смысл в другом… читай и сразу пробуй… Эт в начале 90-х не было книг и инета, но мы т как то смогли… Иногда благодаря FIDOнету

мы зачастую смогли даже не благодаря, а вопреки. Потому что там у них все было немного по-другому. И то, что работало у них там на их железе, не работало у нас без (зачастую тотального) переписывания. Но мы смогли. Я вот дочке своей (она не программист, хвала Аллаху) часто говорю, что ходить в библиотеку и рыться в книгах — это не признак неудачника и лоха. А ведь когда-то у нас не было не то, чтоб FIDO, а и «нормального» компа… Я вот свой первый комп сам собирал — Радио86-РК, если кто помнит.

http://nick-name.ru/img.php?nick=LuciferArh&sert=2]


Re[4]: Проблема с базой данных .mdb в delphi 7

От:

LuciferArh

Россия

 
Дата:  10.12.13 09:39
Оценка:

Здравствуйте, lyonya.ku, Вы писали:

LK>Да, наверное правильный, но он выполняется долго. Мне нужно сначала сделать программу. А потом и этот запрос выполню

Да ну… Год — это недолго. А потом либо программа потеряет свою актуальность, либо ты останешься на сверхсрочную.

http://nick-name.ru/img.php?nick=LuciferArh&sert=2]

Подождите ...

Wait...

  • Переместить
  • Удалить
  • Выделить ветку

Пока на собственное сообщение не было ответов, его можно удалить.

>
Добавление и изменение данных в
, таблицах

  • Подписаться на тему
  • Сообщить другу
  • Скачать/распечатать тему



Сообщ.
#1

,
14.07.06, 16:51

    Junior

    *

    Рейтинг (т): 1

    АКСЕСС/АДО
    база+проект прилагаются

    Есть 3 таблицы. Их структура:
    Таблица Организации
    Id_organizacii (счетчик)
    Nazvanie_organizacii (текстовый)

    Таблица Состав организации
    Id_organizacii (числовой)
    Id_sostava (счетчик)
    Name (текстовый)
    Surname (текстовый)

    Таблица Данные о составе
    id_data (счетчик)
    Id_sostava (числовой)
    Telefon

    Таблицы Организации и Состав организации связаны по полю Id_organizacii как
    1 ко многим, а таблица Состав организации связаны с таблицей Данные о составе по
    полю Id_sostava

    На форме у меня есть такая структура отображающая связь таблиц
    В DBLookupComboBox1 у меня отображается Названия организаций
    (берет данные из таблицы Организации).
    Выбрав из списка DBLookupComboBox1 название организации (к примеру ФСБ) чуть ниже у меня
    отображается в DBGrid1 состав данной организации. В ADOTable2 свойстве MasterSource у меня
    прописанDataSource1 а в свойстве MasterFields у меня прописан Id_organizacii.
    Связь по такому же принципу у меня и между данными из DBGrid1 и DBGrid2(в нем отображаются записи из
    таблицы Данные о составе) — т.е. в ADOTable3 в свойстве MasterSource у меня
    прописанDataSource2 а в свойстве MasterFields у меня прописан Id_sostava.

    Есть на этой же форме кнопки Добавить запись в Таблицу Организации,
    Добавить запись в Таблицу Состав организации и Добавить запись в Таблицу Данные о составе
    При нажатии на эти кнопки появляются соответствующие формы в которых есть
    Edit1(вопрос: а может использовать DBEdit1) для вписания в него новой записи в соответствющие таблицы.
    А также кнопки изменить записи

    Как заносить данные вписанные в Edit1 в соответствующий DBLookupComboBox1 или DBGrid’ы
    И как мне при нажатии кнопки Изменить открывать соответствующую формы в которой в
    Edit1 будет редактировать выделенная в DBLookupComboBox1 или DBGrid’ах запись и сохраняться изменения

    Прикреплённый файлПрикреплённый файл123.rar (29.12 Кбайт, скачиваний: 103)


    -Creative-



    Сообщ.
    #2

    ,
    14.07.06, 18:48

      В DBLookupComboBox1 и DBGrid’ы ничего заносить не надо! они ведь ОТОБРАЖАЮТ данные, хранящиеся в таблице БД => тебе нужно заносить данные в соответствующую таблицу Access.

      ExpandedWrap disabled

        Table1.Append; //или Table1.Edit если изменение

        Table1.FieldByName(‘Name’).Value:=Edit1.Text;

        Table1.Post;

      До открытия соответствуюшей формы присваиваешь значение в Edit1:

      ExpandedWrap disabled

        Form1.Edit1.Text:=Table1.Fields.Fields[1].AsString;

        Form1.Show;


      dron-s



      Сообщ.
      #3

      ,
      14.07.06, 18:59

        ExpandedWrap disabled

          ADOTable.Edit;

          ADOTable.FieldByName(‘Name’).AsValue := Edit1.Text;

          ADOTable.FieldByName(‘Surname’).AsValue := Edit2.Text;

          ADOTable.Post;

        либо можешь в самом гриде редактировать данные или использовать DBNavigator


        кент



        Сообщ.
        #4

        ,
        14.07.06, 19:22

          Junior

          *

          Рейтинг (т): 1

          щас буду пробовать :yes:


          кент



          Сообщ.
          #5

          ,
          15.07.06, 11:03

            Junior

            *

            Рейтинг (т): 1

            Спасибо — все получилось.
            Возник вопрос: в форме добавления Организации после нажатия кнопки ОК (добавляет запись в Организации)
            На кнопке я дописываю нижележащий код, чтобы добавленная организация появилась сразу в DBlookupcombobox1
            и была видна

            ExpandedWrap disabled

              form1.DBlookupcombobox1.KeyValue:=form1.ADOTable1Id_organizacii.Value;

            Но если я это пишу на Редактирование Организации, то нажав на кнопку отредактировать запись изменяется
            а в DBlookupcombobox1 остается старый вариант и приходится сначала выбрать из DBlookupcombobox1
            какую-нить другую организацию чтобы потом можно было в DBlookupcombobox1 выбрать
            отредактированную запись.
            И как при запуске программы чтобы в DBlookupcombobox1 уже была выбрана 1-ая запись из списка
            (т.е. чтобы DBlookupcombobox1 первоначально не был пуст)

            Сообщение отредактировано: кент — 15.07.06, 11:04


            -Creative-



            Сообщ.
            #6

            ,
            15.07.06, 11:36

              Чтобы выбиралась первая запись:

              ExpandedWrap disabled

                DBlookupСombobox1.ItemIndex:=0;

              Чтобы выбрать отредактированную запись можно попробовать программно выбрать другую запись, а затем опять эту же: (не знаю насколько это правильно!.. :whistle: )

              ExpandedWrap disabled

                tmp:=DBlookupСombobox1.ItemIndex; //этот

                DBlookupСombobox1.ItemIndex:=0;   // код

                DBlookupСombobox1.ItemIndex:=tmp; //я не проверял

              А вообще я использую обычные компоненты с вкладки Standart, а то эти DB компоненты сложно контролировать (не знаю насколько это правильно!.. :whistle: )


              кент



              Сообщ.
              #7

              ,
              15.07.06, 11:52

                Junior

                *

                Рейтинг (т): 1

                а разве у DBlookupСombobox есть свойство ItemIndex???
                пишет ошибку

                Цитата

                [Error] Unit.pas(165): Undeclared identifier: ‘ItemIndex’


                -Creative-



                Сообщ.
                #8

                ,
                15.07.06, 11:55

                  Упс… :lol: Это у DBСombobox есть… :yes: Должно и DBlookupСombobox что-то похожее быть… :wacko:

                  Добавлено 15.07.06, 12:01
                  Точно не могу сказать, но свойство ListFieldIndex не подходит в замену ItemIndex? :blink:


                  кент



                  Сообщ.
                  #9

                  ,
                  15.07.06, 12:50

                    Junior

                    *

                    Рейтинг (т): 1

                    Чтобы выбиралась первая запись я сделал так:

                    ExpandedWrap disabled

                      DBLookupComboBox1.KeyValue:=1;

                    теперь осталось только

                    Цитата кент @ 15.07.06, 11:03

                    Но если я это пишу на Редактирование Организации, то нажав на кнопку отредактировать запись изменяется
                    а в DBlookupcombobox1 остается старый вариант и приходится сначала выбрать из DBlookupcombobox1
                    какую-нить другую организацию чтобы потом можно было в DBlookupcombobox1 выбрать
                    отредактированную запись.

                    щас попробую по этой технологии

                    Цитата Creat!ve @ 15.07.06, 11:36

                    tmp:=DBlookupСombobox1.ItemIndex; //этот
                    DBlookupСombobox1.ItemIndex:=0; // код
                    DBlookupСombobox1.ItemIndex:=tmp; //я не проверял


                    -Creative-



                    Сообщ.
                    #10

                    ,
                    15.07.06, 13:06

                      Если что подожди кого-нибудь из более опытных! Сегодня выходной, они, наверное, все спят еще :D


                      кент



                      Сообщ.
                      #11

                      ,
                      15.07.06, 13:09

                        Junior

                        *

                        Рейтинг (т): 1

                        ExpandedWrap disabled

                          temp:=mainform.DBLookupComboBox1.KeyValue;

                          form1.DBLookupComboBox1.KeyValue:=0;

                          form1.DBLookupComboBox1.KeyValue:=temp;

                        сработало :yes:


                        кент



                        Сообщ.
                        #12

                        ,
                        15.07.06, 18:51

                          Junior

                          *

                          Рейтинг (т): 1

                          Есть в БД таблица с типом поля Memo(ведь в нем можно хранить картинки???). И я хочу добавить в него какую-нибудь картинку
                          Для начала я открываю диалоговое окно для добавления картинки

                          ExpandedWrap disabled

                            If OpenDialog1.Execute then

                          а как дальше его добавлять в поле Kartinka???


                          -Creative-



                          Сообщ.
                          #13

                          ,
                          15.07.06, 19:04

                            Memo хранит Lengthy text or combinations of text and numbers (длинный текст или комбинации текста и чисел)…
                            А вот OLE Object может хранить объект (such as a Microsoft Excel spreadsheet, a Microsoft Word document, graphics, sounds, or other binary data), наверное, может хранить и картинки, а как их туда сохранять… мне тоже стало интересно! :D


                            dron-s



                            Сообщ.
                            #14

                            ,
                            16.07.06, 04:21

                              Creat!ve
                              кент
                              графические и мультимедийные данные (и не только) храняться в BLOB-field (блоб-полях)…
                              записать в них данные и прочитать их оттуда можно так

                              ExpandedWrap disabled

                                Table.Edit;

                                Table.SaveToBlobField(‘Graphics.bmp’);

                                Table.Post;

                              ExpandedWrap disabled

                                Table.LoadFromBlobField(‘Graphics.bmp’);


                              кент



                              Сообщ.
                              #15

                              ,
                              16.07.06, 06:24

                                Junior

                                *

                                Рейтинг (т): 1

                                dron-s,
                                пишу вот так

                                ExpandedWrap disabled

                                  form1.AdoTable3.Append;

                                  form1.AdoTable3.FieldByName(‘Picture’).SaveToBlobField(‘Graphics.bmp’);

                                  form1.AdoTable3.Post;

                                ругается на SaveToBlobField — типа нет такого свойства
                                у поля Picture тип OLE Object


                                кент



                                Сообщ.
                                #16

                                ,
                                17.07.06, 03:44

                                  Junior

                                  *

                                  Рейтинг (т): 1

                                  ну так как насчет вышеизложенного :huh:


                                  Anatoly Podgoretsky



                                  Сообщ.
                                  #17

                                  ,
                                  17.07.06, 08:08

                                    Так нет такого свойства у TField


                                    кент



                                    Сообщ.
                                    #18

                                    ,
                                    17.07.06, 10:27

                                      Junior

                                      *

                                      Рейтинг (т): 1

                                      Цитата Anatoly Podgoretsky @ 17.07.06, 08:08

                                      Так нет такого свойства у TField

                                      Так есть или нет :wacko: ???

                                      так тоже не проходит :wall:

                                      ExpandedWrap disabled

                                        form.AdoTable1.fieldbyname(‘Picture’) As TBlobField).loadfromfile(OpenDialog1.FileName);


                                      Anatoly Podgoretsky



                                      Сообщ.
                                      #19

                                      ,
                                      17.07.06, 10:36

                                        Цитата кент @ 17.07.06, 10:27

                                        Цитата Anatoly Podgoretsky @ 17.07.06, 08:08

                                        Так нет такого свойства у TField

                                        Так есть или нет :wacko: ???[/CODE]

                                        Я что не четко, двусмысленно написал?


                                        кент



                                        Сообщ.
                                        #20

                                        ,
                                        17.07.06, 10:53

                                          Junior

                                          *

                                          Рейтинг (т): 1

                                          а как же теперь сохранять картинки в поле таблицы БД Аксесса :wacko:

                                          Wizard

                                          Bas



                                          Сообщ.
                                          #21

                                          ,
                                          17.07.06, 11:16

                                            Цитата кент @ 17.07.06, 10:53

                                            а как же теперь сохранять картинки в поле таблицы БД Аксесса

                                            Заглянуть в FAQ.


                                            кент



                                            Сообщ.
                                            #22

                                            ,
                                            17.07.06, 11:24

                                              Junior

                                              *

                                              Рейтинг (т): 1

                                              Цитата Bas @ 17.07.06, 11:16

                                              Заглянуть в FAQ.

                                              я там смотрел. Вроде нету или плохо смотрел :wall:
                                              Bas, буду очень благодарен за ссылку :yes:


                                              -Creative-



                                              Сообщ.
                                              #23

                                              ,
                                              17.07.06, 11:44

                                                Попробуй так:

                                                ExpandedWrap disabled

                                                  (table1.fieldbyname(‘ddd’) as TBlobField).loadfromfile(‘dddss’);


                                                кент



                                                Сообщ.
                                                #24

                                                ,
                                                17.07.06, 11:53

                                                  Junior

                                                  *

                                                  Рейтинг (т): 1

                                                  Creat!ve, я это уже пробовал

                                                  Цитата кент @ 17.07.06, 10:27

                                                  form.AdoTable1.fieldbyname(‘Picture’) As TBlobField).loadfromfile(OpenDialog1.FileName);


                                                  -Creative-



                                                  Сообщ.
                                                  #25

                                                  ,
                                                  17.07.06, 12:02

                                                    Странно… :blink:

                                                    Добавлено 17.07.06, 12:33
                                                    Ты уверен, что не работает??? :blink:
                                                    У меня вот эти строчки ошибок не выдают:

                                                    ExpandedWrap disabled

                                                      if OpenDialog1.Execute then

                                                       begin

                                                          ADOTable1.Append;

                                                          (ADOTable1.FieldByName(‘pict’) as TBlobField).LoadFromFile(OpenDialog1.FileName);

                                                          ADOTable1.Post;

                                                       end;


                                                    кент



                                                    Сообщ.
                                                    #26

                                                    ,
                                                    17.07.06, 15:00

                                                      Junior

                                                      *

                                                      Рейтинг (т): 1

                                                      Цитата Creat!ve @ 17.07.06, 12:02

                                                      Ты уверен, что не работает???

                                                      А ты в какой СУБД проверял — У меня Аксес 2003
                                                      и вылаются ошибки

                                                      Цитата

                                                      [Error] Unit.pas(119): Undeclared identifier: ‘TBlobField’
                                                      [Error] Unit.pas(119): Undeclared identifier: ‘LoadFromFile’

                                                      Добавлено 17.07.06, 15:03
                                                      Bas, а можно ссылку из FAQ :wub:


                                                      кент



                                                      Сообщ.
                                                      #27

                                                      ,
                                                      17.07.06, 18:59

                                                        Junior

                                                        *

                                                        Рейтинг (т): 1

                                                        Люди — отзовитесь кто знает :'(


                                                        Anatoly Podgoretsky



                                                        Сообщ.
                                                        #28

                                                        ,
                                                        17.07.06, 19:06

                                                          Ошибка «Undeclared identifier:» означает, что ты не включил в uses нужные модули


                                                          кент



                                                          Сообщ.
                                                          #29

                                                          ,
                                                          17.07.06, 19:26

                                                            Junior

                                                            *

                                                            Рейтинг (т): 1

                                                            Цитата Anatoly Podgoretsky @ 17.07.06, 19:06

                                                            Ошибка «Undeclared identifier:» означает, что ты не включил в uses нужные модули

                                                            А какие нужно подключить модули если не секрет


                                                            кент



                                                            Сообщ.
                                                            #30

                                                            ,
                                                            18.07.06, 07:03

                                                              Junior

                                                              *

                                                              Рейтинг (т): 1

                                                              Цитата Anatoly Podgoretsky @ 17.07.06, 19:06

                                                              Ошибка «Undeclared identifier:» означает, что ты не включил в uses нужные модули

                                                              и это оказалось был DB >:(


                                                              Anatoly Podgoretsky



                                                              Сообщ.
                                                              #32

                                                              ,
                                                              23.07.06, 08:40

                                                                Цитата кент @ 18.07.06, 07:03

                                                                Цитата Anatoly Podgoretsky @ 17.07.06, 19:06

                                                                Ошибка «Undeclared identifier:» означает, что ты не включил в uses нужные модули

                                                                и это оказалось был DB >:(

                                                                Молодец, такие вопросы ты должен разрешать сам с помощью справка, как правило нужный модуль в ней указан и в крайнем случае поиском по исходникам.


                                                                Expected }



                                                                Сообщ.
                                                                #33

                                                                ,
                                                                14.02.10, 17:16

                                                                  Junior

                                                                  *

                                                                  Рейтинг (т): нет

                                                                  Выполняется поиск по БД посредством фильтрования AdoTable:

                                                                  ExpandedWrap disabled

                                                                    ADOTable1.Filter := ‘Фамилия=’+QuotedStr(Edit1.Text);

                                                                    ADOTable1.Filtered:= True;

                                                                  А затем, при редактировании полей:

                                                                  ExpandedWrap disabled

                                                                    ADOTable1.Edit;

                                                                    ADOTable1.FieldByName(‘Фамилия’).AsString:=DBEdit1.Text;

                                                                    ADOTable1.post

                                                                  Возникает ошибка:
                                                                  «BOF или EOF имеет значение True, либо текущая запись удалена. Для выполнения операции требуется текущая запись.»

                                                                  В чём дело? И как избавиться от ошибки?


                                                                  VahaC



                                                                  Сообщ.
                                                                  #34

                                                                  ,
                                                                  14.02.10, 20:13

                                                                    Выбрось ADOTable на свалку, а вместо него используй ADOQuery.


                                                                    Expected }



                                                                    Сообщ.
                                                                    #35

                                                                    ,
                                                                    14.02.10, 20:43

                                                                      Junior

                                                                      *

                                                                      Рейтинг (т): нет

                                                                      С AdoQuery не работает поиск, и при редактировании опять ошибка, но уже другая:
                                                                      «AdoQuery1: Cannot perform this operation on a closed dataset»


                                                                      VahaC



                                                                      Сообщ.
                                                                      #36

                                                                      ,
                                                                      14.02.10, 21:36

                                                                        Цитата Expected } @ 14.02.10, 20:43

                                                                        С AdoQuery не работает поиск

                                                                        то есть?

                                                                        Цитата Expected } @ 14.02.10, 20:43

                                                                        «AdoQuery1: Cannot perform this operation on a closed dataset»

                                                                        а перед выполнение операции проверяли AdoQuery1.Active = true ?


                                                                        Expected }



                                                                        Сообщ.
                                                                        #37

                                                                        ,
                                                                        14.02.10, 22:10

                                                                          Junior

                                                                          *

                                                                          Рейтинг (т): нет

                                                                          Цитата

                                                                          а перед выполнение операции проверяли AdoQuery1.Active = true ?

                                                                          Появляется сообщение «Missing SQL property»


                                                                          Павел Калугин



                                                                          Сообщ.
                                                                          #38

                                                                          ,
                                                                          15.02.10, 07:13

                                                                            Expected } а запрос заполнили? свойство SQL. Или компутер сам должен догадатся какой запрос надо выполнять?


                                                                            Expected }



                                                                            Сообщ.
                                                                            #39

                                                                            ,
                                                                            15.02.10, 07:32

                                                                              Junior

                                                                              *

                                                                              Рейтинг (т): нет

                                                                              А что там должно быть указано?


                                                                              Павел Калугин



                                                                              Сообщ.
                                                                              #40

                                                                              ,
                                                                              15.02.10, 07:54

                                                                                Запрос для получения данных. Читать что такое SQL и в частности про SELECT, INSERT, UPDATE, DELETE. Так же смотреть сюда Базы данных с нуля

                                                                                Сообщение отредактировано: Paul_K — 15.02.10, 07:54


                                                                                Gonarh



                                                                                Сообщ.
                                                                                #41

                                                                                ,
                                                                                15.02.10, 10:41

                                                                                  Хочю еще раз повторить, чтобы человек не наделал ошибок в будущем:
                                                                                  ADOTable выкинь, используй SQL запросы.
                                                                                  Такой же совет сам получил лет 5 назад, кады начинал постигать азы работы с БД :)


                                                                                  VahaC



                                                                                  Сообщ.
                                                                                  #42

                                                                                  ,
                                                                                  15.02.10, 18:54

                                                                                    Цитата Expected } @ 14.02.10, 22:10

                                                                                    Появляется сообщение «Missing SQL property»

                                                                                    напиши так

                                                                                    ExpandedWrap disabled

                                                                                      AdoQuery1.SQL.Clear;

                                                                                      AdoQuery1.SQL.Add(‘Select * from твоя_таблица where поле=занчение’);

                                                                                      AdoQuery1.Active := true;

                                                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                                                                                    0 пользователей:

                                                                                    • Предыдущая тема
                                                                                    • Delphi: Базы данных
                                                                                    • Следующая тема

                                                                                    [ Script execution time: 0,0872 ]   [ 16 queries used ]   [ Generated: 28.01.23, 21:56 GMT ]  

                                                                                    0 0 голоса
                                                                                    Рейтинг статьи
                                                                                    Подписаться
                                                                                    Уведомить о
                                                                                    guest

                                                                                    0 комментариев
                                                                                    Старые
                                                                                    Новые Популярные
                                                                                    Межтекстовые Отзывы
                                                                                    Посмотреть все комментарии

                                                                                    А вот еще интересные материалы:

                                                                                  • Яшка сломя голову остановился исправьте ошибки
                                                                                  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
                                                                                  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
                                                                                  • Mortal kombat 11 already running ошибка
                                                                                  • Mortal kombat 10 ошибка при запуске приложения 0xc0000142