Duplicate validation of levels page to prevent the entry of the data in the database

Hello

Can someone please help me with this problem.

I have a form with two items based on a table. I already have a validation level step to check for null. Now, I would like to create a page-level validation to verify that the duplicate data are not recorded in the database. I would check the database when the user clicks on the button 'create' to ensure that they are not insert record in doubles. If the data already exists, then display the error message and redirect them to another page. I use apex 3.2
Thank you

Hello

Have you tried to write a PLSQL function to check for this?

I've not tested this precisely, but something like this should work:

(1) create a Page-level Validation
(2) choose PLSQL for method
(3) select function that returns a Boolean for the Type

For the validation code, you could do something like this:

DECLARE

    v_cnt number;

BEGIN

    select count(*)
    into v_cnt
    from
    your_table
    where
    col1 = :P1_field1 AND
    col2 = :P2_field2;

    if v_cnt > 0 then return false;
    else return true;
    end if;

END;

If the query returns false, your error message will be displayed.

Not sure how you would address redirection after this page well. Maybe just allow the user to try again with a different value (in case they made a mistake), or simply press a "Cancel" button to finish creating a new record.

Amanda.

Tags: Database

Similar Questions

  • Tronque() prevents the database index. It will also make Last_day?

    Hi all

    ADDM tells me that an index is not used because I use TRUNC on a column where dates are stored in.
    I wonder if LAST_DAY is better for this?

    Concerning
    Marco

    Any function, when applied to an indexed column, will prevent the Oracle using an index on that column. There any function, even if there is 'no operation' (column_name + 0).

    You can create a function TRUNC (column_name)-based index that could be used if your query uses the TRUNC function. Or, assuming you compare the column to a value of bind, you can modify your query so that the function is not necessary. For example, rather than

    SELECT *
      FROM some_table
     WHERE TRUNC( some_date_column ) = date '2009-12-08'
    
    you could use
    
    SELECT *
      FROM some_table
     WHERE some_date_column >= date '2009-12-08'
       AND some_date_column < date '2009-12-09'
    

    Justin

  • client code page differs from the database

    Hi when I connect to oracle through plsql developer get this message

    DB character set al32utf8 and customer is we8mswin1252


    define the character of customer defined via the env nls_lang registry key or nls_lang variable in



    hkey_local_machine\software\oracle\key_oraclient10ghome1


    How should I put it... whre's nls_lang variable env? or where can I find the path that is listed here

    Please suggest



    (2) am basically a Data Modeler now during the data modeling phase. Is the set of characters has something to do, while defining the types of field data.

    concerning
    REDA

    I do not know 'plsql developer' but maybe the warning message that comes out is wrong in this case?

    A configuration as described may well be valid. If your code page machine (assuming Windows) client windows-1252, it is correct to say Oracle via a parameter of we8mswin1252. Please see the [FAQ NLS_LANG | http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm] for more information and directions.

    Find database character sets:
    Select * from nls_database_parameters, where the parameter like '% CHARACTERSET;

    Registry News:
    cmd > reg query HKLM\System\CurrentControlSet\Control\Nls\Codepage /v ACP

    cmd > reg query HKLM\Software\Oracle\key_oraclient10ghome1 /v nls_lang

  • How to prevent the user to create the 'analysis' and 'dashboard '?

    We have a requirement that is to restrict the user create new 'analysis' and 'dashboard '. As we know when the connection ' host: port / analytical, in the top of the page there is a drop down list of 'New' where users can create new 'analysis' and 'Dashboard', how to set up the privilege to disable the option 'Analysis' and 'dashboard '?

    OBIEE version: Oracle Business Intelligence 11.1.1.7.0

    Thank you
    Jinbo

    Summary:

    1 set the "New Menu" permission in the 'home page and Header' refusal, then the 'New' menu will disappear from the top right of the page, which prevents the user to create dashboards and new anlysis

    2. in order to not allow the user to modify the catalog, set the permission of "access user interface of the catalogue"in the ' welcome and header' to refuse."

    3. even made 1 and 2, we have always have a path that the user can create new report, it's "House"menu." To avoid this, our method is to set the explicit right to catalog for the application role.

    Thank you
    Jinbo

  • TRIGGER does not not in Application of the Apex. The amount of the fine in the DATABASE.

    Hi all

    I created a table with a trigger on it to fill the non-null fields. whenever I insert a new record I need not fill in the non-null, they are met by the trigger (before the trigger for insertion.)
    This trigger works very well when I insert a line of SQL Developer.

    I added a new page to form an apex application to insert data in the same table. but here, when trying to insert the data, I get an error saying "* XXXX field must have a value." I guess that I created for the table of the trigger does not work here.

    Here is the code of the trigger.


    OR REPLACE TRIGGER "abc_BIR" before you CREATE
    INSERT ON 'abc' FOR EACH row BEGIN if: NEW. "' abc_ID ' IS NULL THEN
    SELECT 'abc_SEQ'.nextval
    IN: NEW. "" abc_ID ".
    DOUBLE;
    END IF;
    +: NEW. DW_UPDATE_DT: = SYSDATE; +
    +: NEW. DW_UPDATE_USER: = NVL (htmldb_custom_auth.get_user, USER); +
    +: NEW. DW_CREATE_DT: = SYSDATE; +
    +: NEW. DW_CREATE_USER: = NVL (htmldb_custom_auth.get_user, USER); +
    +: NEW. SOURCE__ID: =: NEW.abc; +.
    END;
    +/+
    ALTER TRIGGER 'abc_BIR' ENABLE;

    Please help me.

    Hello

    I try to explain about form validations, which are created automatically
    When you build a form based on the table.
    In your description of the table for the columns that you have forced as NOT NULL
    a non-null item type validation is automatically created on the form page in the
    Section page treatment-> Validations of your page.
    I'm telling you allows you to delete the postings from the section of Validations on your page
    and not the definition of table constraints.
    Of course:

    These fields will not appear to the end user of the application.

    Field XXXX must have a certain value is the error type of validation provided by your application and
    It has nothing to do with the execution of the trigger.

    I hope that helps!
    Kind regards
    Kiran

  • Problem with the restoration of the database

    Hello world

    I have a strange problem while restoring the database with rman. The problem is that the data are not restored at all.

    Let me show you what I do step by step:

    1. create the test table:

    $ sqlplus / as sysdba

    SQL * more: Production of release 11.2.0.1.0 Thu Apr 17 22:51:58 2014

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.

    Connected to:

    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production

    With partitioning, OLAP, Data Mining and Real Application Testing options

    SQL > create table test (ID);

    Table created.

    SQL > insert into values test (1);

    1 line of creation.

    SQL > commit;

    Validation complete.

    2. backup the current database:

    rman target $ /.

    Recovery Manager: release 11.2.0.1.0 - Production Fri Apr 17 22:56:44 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

    connected to target database: ORACLE (DBID = 1672007929)

    RMAN > backup database;

    From 17 April 14 backup
    using the control file of the target instead of recovery catalog database
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID = 6 type of device = DISK
    channel ORA_DISK_1: starting full datafile from backup set
    channel ORA_DISK_1: specifying datafile (s) in the backup set
    Enter a number of file datafile = 00001 name=/u01/app/oracle/oradata/oracle/system01.dbf
    Enter a number of file datafile = name=/u01/app/oracle/oradata/oracle/sysaux01.dbf 00002
    Enter a number of file datafile = name=/u01/app/oracle/oradata/oracle/undotbs01.dbf 00003
    Enter a number of file datafile = 00005 name=/u01/app/oracle/oradata/oracle/example01.dbf
    Enter a number of file datafile = name=/u01/app/oracle/oradata/oracle/users01.dbf 00004
    channel ORA_DISK_1: from room 1 to 17 April 14
    channel ORA_DISK_1: finished piece 1 to 17 April 14
    piece handle=/u01/app/oracle/flash_recovery_area/ORACLE/backupset/2014_04_17/o1_mf_nnndf_TAG20140417T230734_9o1j980f_.bkp tag = TAG20140417T230734 comment = NONE
    channel ORA_DISK_1: complete set of backups, time: 00:00:57
    channel ORA_DISK_1: starting full datafile from backup set
    channel ORA_DISK_1: specifying datafile (s) in the backup set
    including the current control in the backup set file
    including current SPFILE in the backup set
    channel ORA_DISK_1: from room 1 to 17 April 14
    channel ORA_DISK_1: finished piece 1 to 17 April 14
    piece handle=/u01/app/oracle/flash_recovery_area/ORACLE/backupset/2014_04_17/o1_mf_ncsnf_TAG20140417T230734_9o1jc09s_.bkp tag = TAG20140417T230734 comment = NONE
    channel ORA_DISK_1: complete set of backups, time: 00:00:01
    Backup finished on 17 April 14

    3. change the data in the test table

    $ sqlplus / as sysdba

    SQL * more: Production of release 11.2.0.1.0 Thu Apr 17 23:10:16 2014

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    With partitioning, OLAP, Data Mining and Real Application Testing options

    SQL > select * from test;

    ID
    ----------
    1

    SQL > update test set ID = 2;

    1 line update.

    SQL > commit;

    Validation complete.

    4. restore the database

    RMAN target /.

    Recovery Manager: release 11.2.0.1.0 - Production Fri Apr 17 23:11:15 2014

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

    connected to target database: ORACLE (DBID = 1672007929)

    RMAN > shutdown immediate;

    using the control file of the target instead of recovery catalog database

    database closed

    dismounted database

    Instance Oracle to close

    RMAN > bootable media.

    connected to the database target (not started)

    Oracle instance started

    mounted database

    Total System Global Area 835104768 bytes

    Bytes of size 2217952 fixed

    629147680 variable size bytes

    197132288 of database buffers bytes

    Redo buffers 6606848 bytes

    RMAN > restore database;

    From restoration to April 17, 14

    allocated channel: ORA_DISK_1

    channel ORA_DISK_1: SID = 156 type device = DISK

    channel ORA_DISK_1: from the restore backup set data file

    channel ORA_DISK_1: specifying datafile (s) to restore from backup set

    channel ORA_DISK_1: restore datafile 00001 to /u01/app/oracle/oradata/oracle/system01.dbf

    channel ORA_DISK_1: restore datafile 00002 to /u01/app/oracle/oradata/oracle/sysaux01.dbf

    channel ORA_DISK_1: restore datafile 00003 to /u01/app/oracle/oradata/oracle/undotbs01.dbf

    channel ORA_DISK_1: restore datafile 00004 in /u01/app/oracle/oradata/oracle/users01.dbf

    channel ORA_DISK_1: restore datafile 00005 to /u01/app/oracle/oradata/oracle/example01.dbf

    channel ORA_DISK_1: backup /u01/app/oracle/flash_recovery_area/ORACLE/backupset/2014_04_17/o1_mf_nnndf_TAG20140417T230734_9o1j980f_.bkp piece reading

    channel ORA_DISK_1: room handle=/u01/app/oracle/flash_recovery_area/ORACLE/backupset/2014_04_17/o1_mf_nnndf_TAG20140417T230734_9o1j980f_.bkp tag = TAG20140417T230734

    channel ORA_DISK_1: restored the backup part 1

    channel ORA_DISK_1: restore complete, duration: 00:00:55

    Restoration finished in 17 April 14

    RMAN > restore database;

    To go back to April 17, 14

    using channel ORA_DISK_1

    starting media recovery

    media recovery complete, duration: 00:00:03

    Finished recover at April 17, 14

    RMAN > sql 'alter database open;

    SQL statement: alter database open

    5. check if the data has been restored

    sqlplus / as sysdba

    SQL * more: Production of release 11.2.0.1.0 Thu Apr 17 23:14:39 2014

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    With partitioning, OLAP, Data Mining and Real Application Testing options

    SQL > select * from test;

    ID
    ----------
    2

    Summary:

    Data has not changed. Provided the ID is 1, but after the success of data recovery is not restored (ID is always 2).

    Can someone help me? What I am doing wrong?

    Database is Oracle 11 g with archivelog active

    Ol6 2.6.39 Linux OS - 300.17.2.el6uek.x86_64

    RMAN > restore database;

    To go back to April 17, 14

    using channel ORA_DISK_1

    starting media recovery

    media recovery complete, duration: 00:00:03

    Finished recover at April 17, 14

    RMAN > sql 'alter database open;

    SQL statement: alter database open

    5. check if the data has been restored

    sqlplus / as sysdba

    SQL * more: Production of release 11.2.0.1.0 Thu Apr 17 23:14:39 2014

    Copyright (c) 1982, 2009, Oracle.  All rights reserved.

    Connected to:
    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production
    With partitioning, OLAP, Data Mining and Real Application Testing options

    SQL > select * from test;

    ID
    ----------
    2

    Summary:

    Data has not changed. Provided the ID is 1, but after the success of data recovery is not restored (ID is always 2).

    Can someone help me? What I am doing wrong?

    Database is Oracle 11 g with archivelog active

    the recovery was successful, but achieved your goal.

    There are several options to reach your goal to recover your database to a particular State that is point in time.

    1 restore the file of control as noted above. you restore the control file must not be aware of the generated once archivelog that you update your table. IE backup controlfile prior you updatedyour table.

    2. do not apply archivelog all during recovery. You can use SNA, SEQUENCE, RESTORE POINT option of the recover command. This option requires that you open your database with resetlog.

    read: scene of Flashback and the database Point-in - time recovery

    After a restore successful your database (before the recover command), you can "alter database open read-only" to check and confirm the values in the table.

    HTH

    Tobi

  • History of the database

    Hello

    How do below the answer for my database 10.2.0.1 on windows xp:

    1. until when db running in archive and no mode archives after its creation.
    2 How many times db was recovered by RMAN to his creation. (Assume that there are no available newspaper)
    3. date on which the new control file/redo, group newspaper added/removed after its creation.
    4. who files was flashbacked after its creation.
    5. until what period of time that users were there on db.
    As
    From 02/01/2009 to 10/04/2009 Scott
    From 02/01/2009 to 10/04/2009 HR user
    02/01/2009 to 04/05/2009 User1
    etc.

    4. any other important date associated with db.

    I mean, is there any display or should I search/conjecture in alert log?

    Thank you

    Edited by: user12050217 Oct 4, 2010 22:07
    Couple of questions added.

    user12050217 wrote:

    I'm sorry, I have not mentioned clearly. On the one hand, I have some files to a database (with a full alert log) and on the other hand, I have to do this (INKWEST) database with these files UP/bar. I don't know, how do I upgrade the database. I don't know what was spfile/init for this db and at what date and time what logical/physical structure had been changed in the past. I have only files and tasks to make it appear the PB with the alerts log and this readme.txt file.

    If you have a valid control file, you can start the database. It is the 1st most critical piece to get a database to mount and open. Not the file pfile.

    You can manually create a pfile. It must contain some specific database settings - such as the database name and the location of the control file.

    The easiest way is to use the pfile original file created by dbca when the database was created - assuming that you have used the option "+ script + ' of the dbca. Something I would recommend one should always do.

    Otherwise, use a file pfile template example, go through it and change the key parameters (dbname, control file, bdump/udump location, etc.). Then use the pfile file to start the database.

    If there is a spfile in the backup, you can create a pfile with a single line containing the location of the spfile file, for example

    SPFILE=c:\database\ora\spfile.ora
    

    Do not if difficult to create a pfile from scratch - you have the files of data and their location and know the database SID.

  • Conditionally to prevent the automatic validation of execution?

    Hi - I have a case where, upon the presentation of a DML (edit) form page, I don't want postings automatically
    created by APEX to run. (For example control that required elements have values).

    Conditionally somehow prevent this from happening? I tried to create a level validation of the page which is
    always TRUE to the appropriate condition, but this doesn't seem to affect what is happening with the other
    the validations that I can't, apparently, edit.

    Thank you
    c

    Hi Carol,.

    You have to submit the current page? If you just need to refresh the current page, how about a redirect? It would refresh the page without submitting it, so to prevent the validations of shooting.

    Kind regards
    Anthony.

  • gauge the battery to the boot screen and battery on report menu conflicting Details about the level of the battery. The gauge from the battery to the Starter incorrectly displays the low battery level that prevent the macbook pro battery retina start

    gauge the battery to the boot screen and battery on report menu conflicting Details about the level of the battery. The gauge from the battery to the Starter incorrectly displays the low battery level that prevent the start of the battery. This happens on macbook pro retina 13 inches

    When I try to startup macbook pro retina in battery mode, it will fail to start showing low battery level and an indicator to recharge the battery. It does not start on battery. When I then connect via the power cable at startup (and check the battery level), monitor of battery in the menu bar indicates that the battery is charged to the top.

    It gets really frustrating and remove my ability to use the macbook pro retina as a truly portable device...

    Appreciate any help on this

    Have you tried resetting the SMC? Reset the management system (SCM) controller on your Mac - Apple Support

  • Prevent the user from changing the page in URL - Apex 5

    Dear community of Apex,

    We seek to protect our handling of URL pages.  The protection of session state is enabled, and each page has page value «Arguments must have Checksum» access protection  However, the documentation seems to discuss in order to prevent the user from element values in the URL.  We want to prevent the user to change the page ID in the URL.  Currently, a user is able to hack the URL and take in the middle of a wizard process for example.  Is it possible to stop this?  Other that an element of creative previous train stop check.

    * Version: Application Express 5.0.1.00.06

    Thank you

    Barry

    bSamuel wrote:

    We seek to protect our handling of URL pages.  The protection of session state is enabled, and each page has page value «Arguments must have Checksum» access protection  However, the documentation seems to discuss in order to prevent the user from element values in the URL.  We want to prevent the user to change the page ID in the URL.  Currently, a user is able to hack the URL and take in the middle of a wizard process for example.  Is it possible to stop this?  Other that an element of creative previous train stop check.

    Hi Barry

    Affecting the security attribute Access Page Protection page No. URL Access and navigate between pages using the type of the Page Management Branch (uncheck the option creates a branch using redirection page in the Wizard) will avoid this:

    No URL access -Page can not be found using a URL, but the page can be the target of a type of Page Management Branch, is not doing a URL redirect.

    It is a little more restrictive that a normal direction of the session state values cannot be positioned or erased declaratively in the branch, but is not often necessary in a several step wizard, and it's pretty simple to work round using prior processes - or post-branche or by referencing the item values directly from other pages.

  • How to prevent the gap after a page break?

    Hello

    When you try to add a page break between the linked pages, I have an annoying problem where the space is added at the top of the new page (see attached screenshot).

    I do not have 'space before' or 'space after' set on the paragraph style where the page break is applied, if it's not that.

    Thank you!

    indes.jpg

    Looks like you used an empty paragraph as a spacer. With the help of the space before or after the space instead of empty paragraphs will prevent the empty space at the top of a column.

  • How to adopt the validation of level entity such as BC ADF using EJB/JPA?

    I explore how to implement validation to entity level using the EJB/JPA instead of ADF BC. (Note: I use JDeveloper + ADF 12 c)

    1. I cannot add validation attribute level in the ADF (Data Control) of EJB model layer. but it is not enough. I can just code partial UI validation here.

    2. I googled and find that someone is using jsr-303-bean-validation. What is a unique choice? How the entity-level validation code?

    Validation of the JPA EJB ADF application entity

    3. I want to implement certain business validation and processing business in the layer of business ADF service, as in the EJB method.

    I did a simple test to simulate an exception, but I found the exception has been handled incorrectly in the layer of binding of ADF and error dialog box prompt: DCA-29000: Unexpected exception caught: java.lang.reflect.InvocationTargetException, msg = null.

        public Departments persistDepartments(Departments departments) {
            if(true){
              throw new RuntimeException("persistDepartments");
            }
            em.persist(departments);
            return departments;
        }
    
    
    
    

    Any expert can help? will I have to rewrite the ADF Model layer error handling? How to code the validation in EJB? you will need to take local and manipulate it in class in the ADF error handling model layer? where can I find a demo?

    4. I want to introduce a layer of application service between EJB session façade and JPA entity for the re-use of the company.  but I found JDeveloper helps me to do anything. I do code manually, when I create EJB session façade, it always integrate directly with JPA entity inside.  I expect that my application service is class instead of the EJB POJO.  Session EJB façade summons enforcement and demand serviceshall call JPA entity services.  is this possible? any sugguestion?

    Thank you

    Qn1, the ADF Model layer Validation are supported at the level of the validation attribute. It is confirmed.

    Qn2, it seems that this is a better solution, but is not Explorer so far.

    Qn3 is resloved by creating a custom error handler to extract a validation thrown from EJB exception and at the same time, it cannot be avoided that the thrown exception of service business layer is still dumped at MTS-out.

    Qn4 is reslolved by employment Commission to inject POJO, EJB session faade and inject POJO EntityManager (use JTA transaction).

    Thanks to you all!

  • When I use dreamweaver cs6 browser Checker to find pages, it creates another page starting with the letter T. And he added this page to my folder. How can I prevent that from happening. I use a Mac.

    When I use Dreamweaver cs6 browser Checker to find pages, it creates another page starting with the letter T. And he added this page to my folder. How can I prevent that from happening. I use a Mac.

    Are you spotted with temporary files?  In Edition > Preferences > Preview in browser.

    Nancy O.

  • Level of security for the dashboard pages.

    Hi all


    I have a question. I want to apply security to the level of the data to the data in dashboard pages.



    All the answers.




    Thank you sunny.

    Hello
    Can do this by using the section level security.
    Place the x, y in a section and z report in the other section. Now apply security at the level of the article accordingly.

    Awarded points if the answer.

    Kind regards
    Srikanth

  • How to prevent the display of a Page?

    have a form with a table on the first page.  If it has more than 7
    line items, then it continues a new master to page content area
    view the rest of the elements.  Then he has another separate page
    to print at the end.

    However, if I have 7 lines or less, it still prints my pursuit
    page.  Is there a way to prevent this page from the display and
    being included in the number of pages?

    As another option, is there a way I can subtract 1 from the number of pages
    If the number of items in the line is 7 or less?

    I have attached a copy of my hierarchy.  I want to view Page1.  It's a table.  If it has more than 7 lines of billing, I continue to a content area in LIContPage1.  Page 2 prints the last.

    However, if there are less than 7 line items on page 1, I don't want LIContPage1 to print or be included in the page numbering.

    Thank you!

    Hello dude,.

    Search for any field (assumes that the "txtnumber") of the table is in the page. If not hide the page.

    for (var i = 0; i)< xfa.host.numpages="" ;="">

    {

    var oFields = xfa.layout.pageContent (i, "field");

    z = oFields.length;

    for (nNodeCount = 0; nNodeCount)< z;="">

    {

    If (oFields.item (nNodeCount) .name is 'txtNumber')

    {

    This.Presence = "Hidden".

    }

    I hope this works!

    Following fields fall into the category of field (mentioned in the script).

    Returns all the following form design objects: button, checkbox, DateTime field.

    Drop-down list, Signature of Document field, Image field, list box, numeric field, password

    Field, radio button and text field.

    Kind regards

    Rakesh

Maybe you are looking for

  • Family sharing - cryptic guests

    So I implemented a family sharing. Can I download music to my wife - that works very well, but when she tries to download music purchased from my account she gets this unintelligible prompt. A google search revealed situations very complicated - my s

  • System froze for a minute while searching for a missing network drive

    When, for example, browse the files in the Windows Explorer home & network is disconnected, the system tends to freeze for half a minute, as it is waiting for the sharing network address. No processes are active in the Manager of tasks (idling only),

  • Intel SSD Toolbox 3.01

    A new Intel SSD Toolbox has been posted on the Intel Web site. The program will check and provide for new firmware updates, show the current state of the SSD and the remaining time.

  • Pavilion 17 E0J97UA: Is it possible to upgrade 17 Pavilion i3 i5 CPU?

    I want to upgrade my Pavilion 17, product number: E0J97UA of the Intel Core i3 - 4000 M CPU @ 2.40 GHz processor to a processor i5. Page 85 of the third edition of "HP Pavilion 17 TouchSmart Notebook PC HP Pavilion 17 Notebook PC Maintenance and Serv

  • OEM Windows 7 not genuine.

    Why my got OEM Windows 7 windows isn't genuine watermark?