Using of COUNT in queries

Hello,
I try to get count of rows in table:
Query countQuery = em.createQuery("SELECT COUNT(o) FROM SomeTables o");
Long count = (Long)countQuery.getSingleResult();
Query returns all rows from table when it is executed.
How could I perform it correctly?
My environment is JDeveloper 10+embedded OC4J, database is Oracle 10.
Thanks

I try to get count of rows in table:
Query countQuery = em.createQuery("SELECT COUNT(o)
FROM SomeTables o");
Long count = (Long)countQuery.getSingleResult();
Query returns all rows from table when it is
executed.Your query looks good as long as SomeTables is an Entity name and not an actual physical table. You'd get a different exception if it wasn't.
What version of TopLink are you using? With TopLink Essentials v2-b19 I can run a similar JPQL query:
          Long count = (Long)em.createQuery(
               "select Count(o) from Order o")
               .getSingleResult();
          System.out.println("JPQL Result " + count);and see the following in the console:
[TopLink Fine]: 2006.11.24 11:09:37.085--ServerSession(10630672)--Connection(31343478)--Thread(Thread[main,5,main])--SELECT COUNT(*) FROM ORDER_TABLE
JPQL Result 1--Shaun                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • How do I use a counter for time measurement with NI-DAQmx and C++?

    Hi,
    I need my C++ program to read time (number of elapsed ticks) using the counter on PCI-6229. I had this written and working for the non-MX driver, and now I need to re-write it for NI-DAQmx.
    Here are the steps that I want to accomplish:
    1. Route the 80MHz timebase to the input of "Dev1/ctr0"
    2. Start the counter and let it count the ticks.
    3. After a while, read the number of ticks from the counter.
    Here is how I am trying to do it now (without success):
               DAQmxCreateTask ( "" , &taskHandle ) ;
               DAQmxCreateCICountEdgesChan ( taskHandle , "Dev1/ctr0" , "" , DAQmx_Val_Rising, 0 , DAQmx_Val_CountUp ) ;
               DAQmxConnectTerms ( "/Dev1/80MHzTimebase" ,  "/Dev1/Ctr0Source" , DAQmx_Val_DoNotInvertPolarity ) ;
               DAQmxStartTask ( taskHandle ) ;
               then DAQmxReadCounterScalarU32 ( taskHandle , 0.25 , &curCount , NULL ) ;
               and DAQmxClearTask ( taskHandle ) ;
    No errors are generated, but I do not see the tick count being incremented when I repeatedly read the counter.
    Advice will be greatly appreciated!!

    Hi Peter,
    Welcome to the forums!   I just want to make sure I understand what you are trying to do.  You would like to count the rising edges of the 80 MHz clock using DAQmx in C++.  In order to route the timebase to the counter, you need to use the signal name (PFI8) instead of the counter (Ctr0Source) for the counter source input.  This name is found in Measurement Automation Explorer (MAX) by right-clicking on the device and choosing “Device Pinouts.”  This will physically put the 80 MHz clock on the PFI8 line, so make sure you reset the device or disconnect the terminals after you are done. 
    That being said, may I ask what you are trying to do by reading the number of elapsed ticks?  If you are trying to monitor a hardware timed pulse, it would be better to count the frequency or period of that pulse.  This would provide better accuracy, because you are not relying on how fast DAQmx Read can poll the hardware.  If you are simply looking for a software based timer, I would recommend taking a look at this MSDN forum post. 
    Using the GetTickCount function instead will free up your counter and provide comparable accuracy to counting the edges of the timebase.
    I hope that helps you out, let me know if you have any further questions about this. Good luck with your project.
    Rod T.

  • How do I use a counter to measure frequency and multiple analog signals in the same VI?

    I have a PCI-6071E, an SC-2345 with multiple modules, and a PXI-8184 (with a PXI-1002 Chassis).
    My goal is to monitor pressures, flows, temperatures, and speed in one VI.
    I am using Measurement and Automation Explorer version 3.1.1.3004 to manage my channels.
    My speed is a PWM signal which I recently rewired through the counter 0 of my board.
    I was hoping to configure this to read frequency directly in measurment
    and automation, have this scale the value to RPM, and then feed it
    directly in to my labView program.
    In labView, it will not except this signal though.
    I get error -200300 from the DAQmx Start Task.vi
    Possible reasons(s):
    Invalid timing type for this channel.
    Property: SampTimingType
    You Have Requested: Sample Clock
    You Can Select: Implicit, On Demand
    After doing some research, it seems that the counter wants "Implicit"
    selected for the DAQmx Start Task.vi, but then I cannot use my other
    channels. Also, counter is included in the "Sample Clock" option
    description, so I do not understand why it is not working.
    Does anyone know how to work around this problem or a way to configure the counter so that it will work in this way?
    All my other channels are Analog.
    Thank you.

    I am working on getting just the counter working by using
    the program posted previously, and I am running into issues. Periodically I get
    the error:
    Error -200141
    occurred at DAQmx Read (Counter DBL 1Chan 1Samp).vi
    Possible reason(s):
    Data was overwritten
    before it could be read by the system.
    If Data Transfer
    Mechanism is Interrupts, try using DMA. Otherwise, divide the input signal
    before taking the measurement.
    It seems to work better if I use cascaded counters, but I need timer 0 for
    analog channels when I run this code along with the program for the other
    measurements.
    I have tried averaging, and selecting different values for the millisecond
    timer, and these did not seem to have an effect.
    I tried different DAQms configurations and "Counter DBL 1Samp" seemed
    to work the best.
    The program will work for a while and then it will give me the above error
    message.
    If I use counter 0 as a cascaded counter input, the program runs fine. If I run
    this with other analog channels, it errors out because the analog channels use
    counter 0.
    If I use counter 1 as a cascaded counter input, it seems to work better than a
    single channel, but it will still error out with the above error.
    If I use only counter 1, I get the error above even faster.
    Also, none of the
    configurations give measurements outside the While Loop.
    The only place I can add a speed dial for the front panel is within the While
    Loop.
    Is there someway to get the signal to continuously send out of the while loop?
    I thought if I could get the signal out of the while loop, I could condition it
    anyway I wanted without the program erroring out.
    Any suggestions would be much appreciated.
    Thank you.
    Attachments:
    Counter_error.jpg ‏45 KB

  • PCI 6602:How can I use the digital lines of the board and in the same time to generate pulse train using a counter?

    Hello!
    My problem appeared when I tried to update my code from Traditional NI-DAQ Legacy to DAQmx.
    I am using 2 counters (counter 5 and counter 7)  from PCI-6602, to generate pulse train, and also the Digital I/O lines of the port 0 (the lines form 0 to 7). What I do in my application is that I am starting to generate the pulse train on the output of the 2 counters, and after that I am playing with the state of the digital lines.
    In traditional there was no problem using the counters and the digital lines in the same time, everything was going perfectly, but in DAQmx this is not possible.
    What happens: I start to generate pulse train on the output of the counters,  no errors encountered, but when I try to modify the state of one line of the digital port the generation of the pulse train is stopped. This is happening when I start the task associated to the digital port.
    My question is: it is possible to create a channel on the digital lines without altered the channels created for the counters?
    Another thing what I manage to see using the  "Measurement & Automation Explorer" and Test panels for PCI-6602, basically is the same thing, I generate pulse train on the output of the counter 7 and try to start a task on the digital line, but I get one error :
    "Error -200022 occurred at Test Panel
    Possible Reason(s):
    Measurements: Resource requested by this task has already been reserved by a different task.
    Device: Dev4
    Terminal: PFI8"
    Instead if I use the counter 0 or counter 1 to generate pulse train I don't encounter the same problem.
    Which resources are used by the counters 2 to 7 from the PCI-6602 board and the counters 0 and 1 do not use?
    Thank in advance for any replies!
    Ciprian
    Solved!
    Go to Solution.

    Hello Jordan, thank you for your reply.
    I am sorry but I can not see or run your example, I don't use LabView, I use Visual C++ for developing.
    Here is the code for generating the pulse train:
    GeneratePulseTrain(unsigned long ulCount1, unsigned long ulCount2)
        short nStatus = 0;
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        nStatus = DAQmxCreateCOPulseChanTicks (m_taskHandle, "Dev4/count5", "", NULL, DAQmx_Val_Low, 0.0, ulCount1,ulCount2);
        if( bTriggerMode == true) // if hardware trigger is enabled
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_ArmStartTrig_Type, DAQmx_Val_DigEdge);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Edge, DAQmx_Val_Rising);
            nStatus = DAQmxSetTrigAttribute (m_taskHandle, DAQmx_DigEdge_ArmStartTrig_Src,"Dev4/PFI17" );
        //set the internal timebase
        nStatus = DAQmxSetCOCtrTimebaseSrc(m_taskHandle,"Dev4/count5","20MHzTimeBase" );
        nStatus = DAQmxStartTask(m_taskHandle);
        return nStatus;
    And the code where I try to set the digital line:
    SetChannelState(short nState)
        short nStatus = 0;
        uInt8 wrtBuf0[1]={0};
        nStatus = DAQmxCreateTask("",&m_taskHandle);
        // Configure line as output 
        nStatus = DAQmxCreateDOChan (m_taskHandle, "Dev4/port0/line0", "", DAQmx_Val_ChanPerLine);
        nStatus = DAQmxStartTask(m_taskHandle);
        wrtBuf0[0] = nState;
        nStatus =DAQmxWriteDigitalLines (m_taskHandle, 1, 0, 0, DAQmx_Val_GroupByScanNumber , wrtBuf0, NULL, NULL);
        nStatus = DAQmxWaitUntilTaskDone(m_taskHandle,10);
        nStatus = DAQmxStopTask(m_taskHandle);
        nStatus = DAQmxClearTask(m_taskHandle);
        m_taskHandle = 0;
        return nStatus;      

  • How do I use the counter and digital signals of the 6071E while it is connected to SCXI modules?

    I am contemplating using a PCI 6071E with SCXI. We have the boards (6071E), we would need the cable (I suppose SH1006868) and the SCXI system. I would like to know how would you access the counter and digital line capabilities of the board. I will be using a SCXI-1314 with a SCXI-1520 Module for strain measurements but will need to use the counter and digital lines of the board as well. Can this be done? If so, how and/or what else do I need?

    I think this KnowledgeBase will answer the question for you.
    Accessing DAQ Board Counter Pins with an SCXI System
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments

  • Using a counter to create a timing delay

    Hi all,
    I am working on an application where I need to send some digital outputs seperated by precise timing delays.
    So for example, I may want to output a 'high' to channel 1, then have a 20ms delays, then output a 'high' to channel 2, then have a 50ms delay, and so on.
    I want the timing delays to be easily adjustable and I would like them to be precise.
    The program is being set up for hundreds of tests and it will be run once per test. In between tests I will have the opportunity to modify timing delays.
    I already have a cDAQ-9174 chassis and am planning to buy a NI 9401 high speed digital I/O card. It has been suggested to me that I use a counter (which is built into the chassis) to generate the timing delays, which sounds like a good idea to me. However, I don't really understand how to access the counters and configure the 'DAQmx create channel' function because there are so many options for the reference clock which I don't understand.
    I am thinking that I need to implement something like this:
    http://zone.ni.com/reference/en-XX/help/370466V-01/mxcncpts/hwtimedcounter/
    However I'm if this is what I need and I'm not sure how I would go about testing this code. I guess I would need to connect some sort of output to the counter to see if it's working correctly.
    Any help would be much appreciated.

    After a bit of experimenting, now I'm not sure if the hardware time delay has any advantage over the software delay. I can get a constant 5ms delay using the 'wait' function, yet when I use the counter I can normally get a 5ms delay, but sometimes (perhaps one trial out of five) I get a 4 or 6ms delay. I have even seen a 1ms delay using the counter method. Perhaps my method for measuring is flawed though? I have attached some screenshots of my program. If anybody has any comments it would be appreciated.

  • Trouble using the counter on PCI 6025E

    Hello,
    I am facing a problem with the counter on PCI 6025E. I am trying to count the number of pulses generated by the shaft encoder mounted on the shaft of a motor. I am using a channel from the shaft encoder to count the pulses and generate the line state. So, I have wired the channel to pins 25[line state]and 47[counter]on SCB-100. In my application I am using the count events/time vi from DAQ palette. Every time I run my application I have been getting the error NI 10001 saying that the ordering of the strings is not as expected.

    Hi,
    The Count Events & Time.vi is typically used with older counter hardware such as the 9513 chip. Your E Series card (6025E) uses a DAQ-STC chip. The best way to count your edges is to open up the example "Count Edges(DAQ-STC).vi which can be found by selecting Help>>Find Examples... and you will find it under the DAQ Counter examples as an DAQ-STC example. Hope that helps.
    Ron

  • How to use a counter to build a Logic Analyzer?

    Hi guys, i have heard that we can use a counter as a Logic Analyzer based on an incoming signal and its clock frequency. Anyone know how this works?
    I am trying to read a set of signals, which I have no knowledge of  except that there would a Clock, reset and a data line; and I want to develop a Logic Analyzer to 'know' these signals.
    Thanks, Anoop
    Solved!
    Go to Solution.

    Lynn,
    I have a PXI-7813R, which along with its FPGA is sufficient I believe for this purpose.
    How many digital signals do you need to examine simultaneously?
    Well, I am not sure, but based on the signals generated by similar devices, I would guess between 4 and 6. I expect there to be a Clk, Rst, Data and some other signals.
    What is the maximum frequency?
    I have no idea or how to even come up with a guess on this one.
    What is the maximum and minimum number of samples per signal that you need to capture?
    Again, not a clue. Would it not depend on the Clk frequency?
    Are any of the signals ever in a high impedance (tri-state) mode?  
    Again, don't know, sorry.
    Is the minimum pulse width for non-clock signals the clock period, half the clock period, or something else?
    Sorry again.
    How would you go about in this situation?

  • Generating trigger using a counter

    Hi,
    I am wondering if it's possible to use a counter input to generate a trigger signal with one of the NI PCI boards.
    Thanks
    Raphael

    Hi,
    I am using a NI USB-6211 and plan to use a PCI equivalent.
    My application needs to average pulses of data. I am using an acqiris averager for this.
    I would also like to use the trigger of the pulses to generate every n times another trigger.
    This trigger would be used to generate a clock for buffer position measurements of an angular encoder (using a NI DAQ).
    That will allow me to synch the average of the pulses with the angular reading.
    I am wondering if any NI device would allow me to do it (and the angular encoder reading as well).
    Hope this clarify a bit the context.
    Thanks
    Raphael

  • Using a Counter(PC-TIO-10) to Perform Quadrature Encoder Buffered Position Measurement in Visual C++

    I have Driver Ni-Daq 6.9 and Using a Counter to Perform Quadrature Encoder Buffered Position Measurement in Visual C++ 6.0
    (I think Ni-Daq not support PC-TIO-10 because card not support pulg&play, you can hint me driver for support this card. ) and i want example program for read counter. i use Visual C++ for run,i don't use Measurement Studio.

    NI-DAQ 6.9 supports the PC-TIO-10.
    I attached an example that will show you how to do it in CVI (ANSI C).
    Attachments:
    Cviencod.zip ‏19 KB

  • Why is the word count different when I use word count from the tools menu to the number at the bottom of my mac word document

    Why is the word count different when I use word count from the tools menu to the number at the bottom of my mac word document

    This forum is for Apple's defunct office suite 'AppleWorks' - since the word count is not in the places you mention I assume you are talking about Microsoft Word? Though it's just possible someone in this forum might also use Word and know the answer, you would stand a higher chance of getting an answer in Microsoft's own forums. You could also try asking in the forum applicable to your operating system - Lion, Mavericks or whatever - on the reasonably chance of finding someone familiar with Word.

  • Can I use box-counting method to calculate fractal dimension in Photoshop CS6?

    Can I use box-counting method to calculate fractal dimension in Photoshop CS6?

    If you have a thresholded image, then you can use the mosaic filter and histograms to count coverage.
    Iterate with mosaic at different sizes, use the histograms to see how many are black and white at east mosaic size.
    Or resize the image, re-threshold, and again use the histogram to get a count.
    That should be automatable with a script.

  • Using Query Results in Queries

    I understand how to "Using Query Results in Queries" through
    this link:
    http://www.adobe.com/livedocs/coldfusion/5.0/Developing_ColdFusion_Applications/queryDB11. htm;
    However, does anyone know how to do this inside a component?
    note: the first query gets parameters through a form and the second
    query is called through a grid bind.

    I didn't read the link, but there are two ways to use query
    results in other queries. At least two that I know about.
    One is to use valuelists. Since your link was for Cold Fusion
    5, that's probably what they mentioned.
    The other is with Query of Queries.
    You do it in a component the same way you do it in a
    template.

  • Can i use array.count in line?

    All,
    I have one small oracle program that take a ',' separated string as an input
    and assigns the individual string to a nested table.
    I am wondering if I can directly use array.count in my sql below
    instead of assigning the count of the array 1st and then
    using it.
    l_cause_codes_array := util_pkg.tokenize_string(p_cause_codes_csv, ',');
    l_count := l_cause_codes_array.count;
    My current sql:
    delete from po_complaint_cause p
    where p.po_number = p_po_number
    and p.comp_code = p_comp_code
    and l_count > 1;
    I would like to do something like:
    delete from po_complaint_cause p
    where p.po_number = p_po_number
    and p.comp_code = p_comp_code
    and l_l_cause_codes_array.count> 1;
    I just want to reduce one context switch if possible.
    Thanks.

    Hi,
    did it give an error? Did you try? But it is possible.
    But why not the next code:
      l_cause_codes_array := util_pkg.tokenize_string(p_cause_codes_csv, ',');
      if l_cause_codes_array.count >1
      then
        delete from po_complaint_cause p
        where p.po_number = p_po_number
        and p.comp_code = p_comp_code
      end if;Do only the delete if it is bigger than 1, that is I think the fastest switch.
    Herald ten Dam
    http://htendam.wordpress.com

  • How can I use a Counter in a Card 6601 for several times in the same VI

    When I try to use a Counter two times for read and for write, I get always a error (no. 50103). What should that mean.

    From the menu Help-->Explain Error...
    "The specified resource is reserved. The operation was completed by ignoring or overriding the specified resource."
    If you are using one particular counter for both read and write operations, you'll need to clear the read task before configuring the write task and vice versa. To clear the task in traditional NI-DAQ, pass in the task id to "Counter Control.vi" with a control code of 'reset'. When using DAQmx wire the task into "DAQmx Clear Task.vi".
    Do you really need to use the same counter in both a read and write mode at various times? Are the other three all tied up? Maybe I or someone else can help more if you describe the app and/or post some example code.
    -Kevin P.

Maybe you are looking for

  • Is it possible to add new delivery schedule with bapi_change_po?

    Hi all, We're able to update PO existing line item and delivery schedule date with BAPI_CHANGE_PO. However we can't find any way to add new delivery date (under delivery schedule tab, in PO) for multiple delivery schedule scenario. please advise is i

  • How do I get Logic to sync to external audio device?

    Here is what I am trying to do: I have a Big Ben which I want to use to sync everything together. I have Lynx Aurora converters on the way but for now I need to use a 002 rack with a Presonus DigiMax for audio i/o. So basically, I want to connect BIg

  • Function module for BOM cost

    Hi guys,         Is anybody tell me that, is there any function module to display the cost of the bom, by displaying all the materials with individual cost. Thanks in advance, K. R. Chakradhar

  • Trying to accecss my mail on a G3

    I am trying to access my gmail on a iMac G3 version 10.1.3 I keep getting a message: URL TOO LARGE (ex: url/accounts/servicelogin......) I can not access my mail...Can anyone help with this?

  • Intergrate any ABAP transaction in a ABAP WD application (not via ITS!)

    Can I integrate any standard ABAP transaction in a ABAP Webdynpro application, for instance in a  Popup? (not ITS!). My workaround is: To create an iView for the ABAP transaction in the portal and to call the iView using the iVIEW URL. This works, bu