Avatar billede poulsgaard Praktikant
15. maj 2002 - 18:28 Der er 1 kommentar og
1 løsning

TQeury.Edit - virker ikke på et "readonly" dataset

Hej eksperter

Hej har en TQeury på min form.
Den er via en TDatasource koblet til en DBGrid.

Nu er det at jeg spørger kan det ikke lade sig gøre at lave ændringer direkte i DBGrid'en, altså markere det felt man ønsker ændret, taste en ny værdi ind og Finito..... ??

Jeg kan ikke ændre en dyt i DBgrid'et . DBGrid.readonly står til FALSE.

Min TDatabase.readonly som TQueryen forspørger i står til false.

Hvis jeg bruger Query.edit får jeg en fejl der siger can'not do this on a read only dataset, jeg har skrive rettigheder til databasen

Hjælp mig.
Avatar billede martinlind Nybegynder
15. maj 2002 - 18:33 #1
Requests an updatable query result set from the database.

property RequestLive: Boolean;

Description

RequestLive is a request that a SELECT query returns an updatable (or live) or read-only result set from the database back-end. A False value for RequestLive (the default) causes the result set to always be read-only. No request is made to the database back-end to return an updatable result set. A True value for RequestLive is a request to database back-end to return an updatable result set. An updatable result set can be made available to the application’s user for direct data editing through visual data controls.

A True value for RequestLive is a request for an updatable result set. It does not guarantee that the database back-end will return an updatable result set. See the documentation for the specific database system used for the criteria needed for a live query result set. If the database cannot return an updatable result set, a read-only result set is returned instead. This is done automatically and usually without error. Some database systems may raise an exception on requests for live result sets that cannot be fulfilled. Check the success of the request by inspecting the dataset component’s CanModify property.

If the SQL statement used in a TQuery is a general, multi-row SELECT statement, RequestLive can be used with either a True or a False value. For all other SQL statements issued from the TQuery, RequestLive should only be set to False. These other statements include noncursor single-row SELECT statements (more commonly found in stored procedure programming), noncursor Data Manipulation Language (DML) statements like UPDATE or DELETE, and Data Definition Language (DDL) statements like CREATE TABLE and DROP INDEX.

Note:    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.
Note:    Some SQL database systems require strict case-sensitivity for names of metadata objects in SQL statements. These SQL databases typically have problems with the way metadata names are passed by the BDE in live queries and an exception is raised. A workaround that helps in most cases is to enclose the metadata object references (like table and column names) in quotation marks.
Avatar billede poulsgaard Praktikant
15. maj 2002 - 19:01 #2
TQuery.requestlive:=TRUE; var jo lige det der skulle til.

TAkker mange gange
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester