Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 414
  • Last Modified:

DBGrid Editing

I hope to enter a value for particular field in a DBGrid, the problem is i can't enter(or edit) it when i run the program
i have set the properties dgEditing = True (in Options)
, but i still failed. Anyidea ??
0
chongkeng_woon
Asked:
chongkeng_woon
  • 4
  • 3
1 Solution
 
ITugayCommented:
Hi chongkeng_woon,

if DBGrid connected to TQuery then set query's property RequstLive = true. In case you using TTable be sure that table's property ReadOnly = False;

-----
Igor.
0
 
VSFCommented:
Or u may try using a stringgrid!

VSF
www.victory.hpg.com.br
0
 
chongkeng_woonAuthor Commented:
Nope, it doesn't work. I set the
DBGrid connected to a DataSource1, while DataSource1 is connected(dataset) to a query, a query is connected to a database, i put RequestLive=True, but, no luck
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
ITugayCommented:
Hi chongkeng_woon,

check TQuery.RequestLive in runtime. There may be readonly resultset returned by TQuery (e.g. multiply tables join).

----
Igor.
0
 
chongkeng_woonAuthor Commented:
in runtime, requestlive is true, but tquery.canmodify is false, i think that why i got it readonly, but how to make the data editable when tquery.canmodify is false ????

0
 
ITugayCommented:
Hi,

can you show me your SQL statement?

----
Igor.
0
 
chongkeng_woonAuthor Commented:
Igor:
sql.add('select p.* from print p');
sql.add('join printtext pt');
sql.add('on p.number=pt.number');
sql.add('and p.prefix=pt.prefix');
sql.add('where pt.id = :id');
sql.add('and pt.personid = :personid');
thanks
0
 
ITugayCommented:
Ok, I see. I was right, it's multiply table join and can't be edited directly.

Take a look at Delphi help:
<<
All multi-table queries return read-only result sets. Other conditions may cause a query to return a read-only result set. For local tables (such as dBASE and Paradox), see the local SQL help file for rules governing live result sets (updatable queries). For other table types (such as InterBase, Oracle, and Sybase), consult the documentation for the specific database system.
>>

Use TUpdateSQL to solve your problem.

Regards,
Igor.

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now