Помогите Delphi БД...
23 сообщения
#18 лет назад
Хочу изменить ячейку таблицы программным путем...Вот текст:
unit t1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids;
type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
DBNavigator1: TDBNavigator;
Table1: TTable;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
table1.Active:=false;
table1.TableName:=opendialog1.FileName;
table1.Active:=true;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
table1.Post;
table1.Active:=true;
savedialog1.FileName:=table1.TableName;
savedialog1.Execute;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.ReadOnly:=false;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
table1.State:=dsEdit;
Вот здеcь ошибка и надпись "Cannot assign to a read-only property"
table1.RecNo:=2;
table1.FieldByName('Name'

end;
end.
233 сообщения
#18 лет назад
Цитата:Вот здеcь ошибка и надпись "Cannot assign to a read-only property"Свойство State предназначено только для чтения.
Для изменения надо:
Table1.Edit;
Table1.FieldByName('Name'

Table1.Post;
23 сообщения
#18 лет назад
Большое спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23 сообщения
#18 лет назад
Спасибо, с этим разобрался...Вопрос №2:
Хочу сохранить таблицу после модификации...
Если я изменял таблицу вручную, то все ОК, а если программно, то вылазиет ошибка
"Table1: DataSet not in edit or insert mode"....
А сохранение у меня делается так:
table1.Post;
table1.Active:=true;
savedialog1.FileName:=table1.TableName;
savedialog1.Execute;
Help me, please...
55 сообщений
6 сообщений
#18 лет назад
Цитата ("ragap"):
А сохранение у меня делается так:
table1.Post;
table1.Active:=true;
savedialog1.FileName:=table1.TableName;
savedialog1.Execute;
Бред. Полный.
Покажи пальцем, где тут сохранение в таблицу? Вижу открытие диалога сохраения файла с именем таблицы.
Также вижу совершенно бессмысленный Post.
P.S. Господа, я плакаль, я рыдал, почитав этот форум. Есть же специальные форумы для программистов-начинающих. Ну здесь же люди предлагают свои услуги в качестве программистов. Бедные заказчики....
P.P.S. Хотел проект открыть. Программист нужен. Но тут этого делать видимо не буду. Поищу в местах где есть профессионалы, а не программисты-недоучки.
Ф топку.
3918 сообщений
#18 лет назад
SoftCompany, то, что ragap просит помощи в решении достаточно простой задачи не означает, что в сервисе нет профессиональных программистов.
6 сообщений
#18 лет назад
Цитата ("Weblancer"):SoftCompany, то, что ragap просит помощи в решении достаточно простой задачи не означает, что в сервисе нет профессиональных программистов.
Я не спорю с администрацией, так что не банить

Просто маленькое замечание: есть специальные форум для начинающих (взять хотябы DelphiMaster). Там положено вопросы задавать. Есть справочная система (для любого языка программирования), если, на крайний случай, книжки и поисковики.
Но уже достало, когда человеку просто лень почитать, разобраться и понять. Проще спросить готовое решение. А потом вырастают... (см. черный список).
Далее, как можно охаректизовать программиста (фрилансера) у которого в профиле одни Web-сайты, а он подает заявку на работу, которую даже не представляет как выполнять (навеяно одним проектом, вопросы по нему уже в 30 форумах нашел)?
Мне кажется самому сервису должно быть, ну пусть не стыдно, но хотябы не комфортно...
Спасибо!
P.S. Наболело... Если что - удалите пост нафиг.
23 сообщения
#18 лет назад
По мне, так лучше Query или ADOQuery.SQL конечно надо знать! А куда сейчас без него?
6 сообщений
#18 лет назад
Цитата ("_sky"):По мне, так лучше Query или ADOQuery.
SQL конечно надо знать! А куда сейчас без него?
А я бы вообще пользовался спец. компонентами. Или низкоуровневым доступом к БД (что на порядок выше по скорости).
ADO, BDE и иже с ними - ф топку.
Но это вопрос отдельный, из серии, что предпочтительнее.
Сдесь же - вопрос по основам работы с БД в Delphi.
23 сообщения
#18 лет назад
Цитата:P.S. Господа, я плакаль, я рыдал, почитав этот форум.
Вы так переживаете за ragap??? Да не переживайте вы так.

Цитата:
Сдесь же - вопрос по основам работы с БД в Delphi.
Тема всё равно уже раскрыта.
2 сообщения
#18 лет назад
{ Table1: DataSet not in edit or insert mode"....}EDIT;
//монипуляции со значениями полей
POST;
метод Post нужно использоватьв связке с Edit.