Compare an array, row by row, with a single row

I want to be able to take an array like this
    A - b - c - d
1. A - 1 - r - 5
2. G - 1 - f - 6
3. D - 2 - h - 5
4. G - 1 - f - 6
5. G - 1 - f - 8
Function would look at the following row
8. G - 1 - f - ""
And return 3
Is ther anything like this?

You would have to explain to us how you get "Look at the folloowing row and return 3" from G-1-f-"" Do you mean that the empty string is actually a wildcard menaing anything can be in the fourth Column? And you want to match if the first three match how many rows with anything in teh fourth column?
You can use COUNTIFS but it wont recognize the wildcard as far as I know. So you would write it for comparison of the wanted columns only. You can use aditional nested functions to obtain this I think.
Jason

Similar Messages

  • Select or deselect multiple rows with one single selection  event

    Does anyone know how to create a JTable which can select or deselect multiple rows with one single selection event in JTable. Fore example, if the table has
    row1
    row2
    row3
    row4
    row5
    row6
    What I need is when user select row1 or row2, both row1 and row2 should be set to be selected. Then if user press CTRL and click one of row3 or row4, both of them should be selected including the previouse selected row1 and row2.
    For deselection, if row1 and row2 are selected, when users deselect one of row1 or row2, both of them should be deselected.
    Hopefully someone can give me a hint.

    Here is a partial solution using a JList. Only one line gets highlighted when the user makes a selection in the list. But, two lines are returned. There is a blank line between every two lines.
         private void addLineToList() {
              String a = f_one.getText();
              String b = f_two.getText();
              if (a.length() == 0) {
                   Utils.showInformationMessage("Item field is empty.");
                   f_one.requestFocusInWindow();
                   return;
              if (b.length() == 0) {
                   Utils.showInformationMessage("Match field is empty.");
                   f_two.requestFocusInWindow();
                   return;
              model.addElement("item: " + a);
              model.addElement("match: " + b);
              model.addElement(" ");
              int size = model.getSize();
              pairList.setSelectedIndex(size - 3);
              f_one.setText("");
              f_two.setText("");
              f_one.requestFocusInWindow();
         private void editList() {
              if (pairList.getSelectedValue().toString().equalsIgnoreCase(" ")) {
                   Toolkit.getDefaultToolkit().beep();
                   f_one.requestFocusInWindow();
                   return;
              if (!f_one.getText().equals("")) {
                   int result = JOptionPane.showConfirmDialog(this,
                   "The Item field contains text. Replace the text?",
                   "Flash Card Activity", JOptionPane.YES_NO_OPTION,
                   OptionPane.INFORMATION_MESSAGE);
                   if (result == JOptionPane.NO_OPTION) return;
              if (!f_two.getText().equals("")) {
                   int result = JOptionPane.showConfirmDialog(this,
                   "The Match field contains text. Replace the text?",
                   "Flash Card Activity", JOptionPane.YES_NO_OPTION,
                   JOptionPane.INFORMATION_MESSAGE);
                   if (result == JOptionPane.NO_OPTION) return;
              String item = "";
              String match = "";
              int index = pairList.getSelectedIndex();
              String choice = model.getElementAt(index).toString();
              if (choice.startsWith("item")) {
                   item = choice;
                   match = model.getElementAt(index + 1).toString();
                   model.remove(index);
                   model.remove(index);
                   model.remove(index);
              else {
                   item = model.getElementAt(index - 1).toString();
                   match = choice;
                   model.remove(index + 1);
                   model.remove(index);
                   model.remove(index - 1);
              int size = model.getSize();
              if (size > 2) {
                   pairList.setSelectedIndex(size - 2);
              f_one.setText(item.substring(6));
              f_two.setText(match.substring(7));
              f_one.requestFocusInWindow();
         }

  • How to compare 2 arrays with different operator options using parameters in Teststand

    Pls let me know how to compare 2 arrays using different operators like <= or >= or ==......

     I am using TS 2010. FYI
    ex:
    Array XX [ A_Temp,
                   B_Temp,
                   C_Oil Pressure,
                   D_Oilpressure,
    Note : A_Temp, B_Temp,C_Oil Pressure,D_Oilpressure all these parameters will be getting  numerical values (dynamically) from the simulink models and also in future I may need to add parameters to this array.
    Array YY [A_Temp_1,
                   B_Temp_2,
                   C_Oil Pressure_3,
                   D_Oilpressure_4,
    Note : A_Temp_1, B_Temp_2,C_Oil Pressure_3,D_Oilpressure_4 all these parameters will be getting  numerical values (dynamically) from the simulink models
    So my question :
    I would like to verify A_Temp >= A_Temp_1
                                B_Temp >= B_Temp_2
                                C_Oil Pressure  >= C_Oil Pressure_3  etc

  • I can't seem to get individual elements when comparing 2 arrays using Compare-Object

    My backup software keeps track of servers with issues using a 30 day rolling log, which it emails to me once a week in CSV format. What I want to do is create a master list of servers, then compare that master list against the new weekly lists to identify
    servers that are not in the master list, and vice versa. That way I know what servers are new problem and which ones are pre-existing and which ones dropped off the master list. At the bottom is the entire code for the project. I know it's a bit much
    but I want to provide all the information, hopefully making it easier for you to help me :)
    Right now the part I am working on is in the Compare-NewAgainstMaster function, beginning on line 93. After putting one more (fake) server in the master file, the output I get looks like this
    Total entries (arrMasterServers): 245
    Total entries (arrNewServers): 244
    Comparing new against master
    There are 1 differences.
    InputObject SideIndicator
    @{Agent= Virtual Server in vCenterServer; Backupse... <=
    What I am trying to get is just the name of the server, which should be $arrDifferent[0] or possibly $arrDifferent.Client. Once I have the name(s) of the servers that are different, then I can do stuff with that. So either I am not accessing the array
    right, building the array right, or using Compare-Object correctly.
    Thank you!
    Sample opening lines from the report
    " CommCells > myComCellServer (Reports) >"
    " myComCellServer -"
    " 30 day SLA"
    CommCell Details
    " Client"," Agent"," Instance"," Backupset"," Subclient"," Reason"," Last Job Id"," Last Job End"," Last Job Status"
    " myServerA"," vCenterServer"," VMware"," defaultBackupSet"," default"," No Job within SLA Period"," 496223"," Nov 17, 2014"," Killed"
    " myServerB"," Oracle Database"," myDataBase"," default"," default"," No Job within SLA Period"," 0"," N/A"," N/A"
    Entire script
    # things to add
    # what date was server entered in list
    # how many days has server been on list
    # add temp.status = pre-existing, new, removed from list
    # copy sla_master before making changes. Copy to archive folder, automate rolling 90 days?
    ## 20150114 Created script ##
    #declare global variables
    $global:arrNewServers = @()
    $global:arrMasterServers = @()
    $global:countNewServers = 1
    function Get-NewServers
    Param($path)
    Write-Host "Since we're skipping the 1st 6 lines, create test to check for opening lines of report from CommVault."
    write-host "If not original report, break out of script"
    Write-Host ""
    #skip 5 to include headers, 6 for no headers
    (Get-Content -path $path | Select-Object -Skip 6) | Set-Content $path
    $sourceNewServers = get-content -path $path
    $global:countNewServers = 1
    foreach ($line in $sourceNewServers)
    #declare array to hold object temporarily
    $temp = @{}
    $tempLine = $line.Split(",")
    #get and assign values
    $temp.Client = $tempLine[0].Substring(2, $tempLine[0].Length-3)
    $temp.Agent = $tempLine[1].Substring(2, $tempLine[1].Length-3)
    $temp.Backupset = $tempLine[3].Substring(2, $tempLine[3].Length-3)
    $temp.Reason = $tempLine[5].Substring(2, $tempLine[5].Length-3)
    #write temp object to array
    $global:arrNewServers += New-Object -TypeName psobject -Property $temp
    #increment counter
    $global:countNewServers ++
    Write-Host ""
    $exportYN = Read-Host "Do you want to export new servers to new master list?"
    $exportYN = $exportYN.ToUpper()
    if ($exportYN -eq "Y")
    $exportPath = Read-Host "Enter full path to export to"
    Write-Host "Exporting to $($exportPath)"
    foreach ($server in $arrNewServers)
    $newtext = $Server.Client + ", " + $Server.Agent + ", " + $Server.Backupset + ", " + $Server.Reason
    Add-Content -Path $exportPath -Value $newtext
    function Get-MasterServers
    Param($path)
    $sourceMaster = get-content -path $path
    $global:countMasterServers = 1
    foreach ($line in $sourceMaster)
    #declare array to hold object temporarily
    $temp = @{}
    $tempLine = $line.Split(",")
    #get and assign values
    $temp.Client = $tempLine[0]
    $temp.Agent = $tempLine[1]
    $temp.Backupset = $tempLine[2]
    $temp.Reason = $tempLine[3]
    #write temp object to array
    $global:arrMasterServers += New-Object -TypeName psobject -Property $temp
    #increment counter
    $global:countMasterServers ++
    function Compare-NewAgainstMaster
    Write-Host "Total entries (arrMasterServers): $($countMasterServers)"
    Write-Host "Total entries (arrNewServers): $($countNewServers)"
    Write-Host "Comparing new against master"
    #Compare-Object $arrMasterServers $arrNewServers
    $arrDifferent = @(Compare-Object $arrMasterServers $arrNewServers)
    Write-Host "There are $($arrDifferent.Count) differences."
    foreach ($item in $arrDifferent)
    $item
    ## BEGIN CODE ##
    cls
    $getMasterServersYN = Read-Host "Do you want to get master servers?"
    $getMasterServersYN = $getMasterServersYN.ToUpper()
    if ($getMasterServersYN -eq "Y")
    $filePathMaster = Read-Host "Enter full path and file name to master server list"
    $temp = Test-Path $filePathMaster
    if ($temp -eq $false)
    Read-Host "File not found ($($filePathMaster)), press any key to exit script"
    exit
    Get-MasterServers -path $filePathMaster
    $getNewServersYN = Read-Host "Do you want to get new servers?"
    $getNewServersYN = $getNewServersYN.ToUpper()
    if ($getNewServersYN -eq "Y")
    $filePathNewServers = Read-Host "Enter full path and file name to new server list"
    $temp = Test-Path $filePathNewServers
    if ($temp -eq $false)
    Read-Host "File not found ($($filePath)), press any key to exit script"
    exit
    Get-NewServers -path $filePathNewServers
    #$global:arrNewServers | format-table client, agent, backupset, reason -AutoSize
    #Write-Host ""
    #Write-Host "Total entries (arrNewServers): $($countNewServers)"
    #Write-Host ""
    #$global:arrMasterServers | format-table client, agent, backupset, reason -AutoSize
    #Write-Host ""
    #Write-Host "Total entries (arrMasterServers): $($countMasterServers)"
    #Write-Host ""
    Compare-NewAgainstMaster

    do not do this:
    $arrDifferent = @(Compare-Object $arrMasterServers $arrNewServers)
    Try this:
    $arrDifferent = Compare-Object $arrMasterServers $arrNewServers -PassThru
    ¯\_(ツ)_/¯
    This is what made the difference. I guess you don't have to declare arrDifferent as an array, it is automatically created as an array when Compare-Object runs and fills it with the results of the compare operation. I'll look at that "pass thru" option
    in a little more detail. Thank you very much!
    Yes - this is the way PowerShell works.  You do not need to write so much code once you understand what PS can and is doing.
    ¯\_(ツ)_/¯

  • Compare 2 arrays,if same value add the value.If different value show 0

    hello to all! i am new to labview and i'am trying to solve a labview exercise
    ''compare 2 arrays 1d 1x10 (the values of them are lucky numbers from 1 to 10)  .compare them and create a new array [1,10] that saves the same values in the corresponding places ,while in the remainder places where the elements of 2 tables are different  show 0''
    One Example
    In this time of project i have stuck at the comparison of values of two array.and how i would achive creating the Array3! I have search the forum about founding any answer.Any ideas?
    Message Edited by sdadfsdfds on 06-05-2008 12:08 PM
    Message Edited by sdadfsdfds on 06-05-2008 12:09 PM

    I am guessing that since this is a labview exercise it is meant as a learning experience.  There are several ways to solve this problem, I have shown one way below.  I suggest that you try and come up with other ways on your own.  Feel free to ask any questions.
    Cheers
    Message Edited by jmcbee on 06-05-2008 11:25 AM
    CLA, CLED, CTD,CPI, LabVIEW Champion
    Platinum Alliance Partner
    Senior Engineer
    Using LV 2013, 2012
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.
    Attachments:
    Compare Arrays.PNG ‏3 KB

  • Compare 2 Arrays??

    Hi,
    I'm looking for a easy way to compare 2 arrays and get an result. We take one on we have in the first array the values 1, 2, 3, 4 and 5 and in the second array we have the values 3 and 5.
    array1 | array2
    1 | 3
    2 | 5
    3 |
    4 |
    5 |
    After comparing I should get as result jus the values 1,2 and 4. I already searched for a solution but i couldn't find anything. Except a way, that I think would be quite complex.
    My Solution ->
    First I read out both arrays and try to save them in a collection (HashSet) type. Then it will be possible to use the method removeAll() of the interface Set. The result should again be converted to an array.
    Does anyone know an easier way? Thx!
    Cyrill

    Why is using a Set so hard? That seems like the best way to me. The "hard" part would only be if you're filling the set with a loop instead of the easy way:
    Set set = new HashSet(Arrays.asList(yourArray));
    set.removeAll(Arrays.asList(yourOtherArray));How can it get easier than 2 lines of code?

  • Sort an array of Application Class with respect to property

    class MyClass
    property string myProgram;
    property string myType;
    property string Description;
    end-class;
    Local array of MyClass &myProgArray;
    &myProgArray.Sort("D");
    I want to sort the Array in descending Order with respect to "myType".
    How to provide "myType" parameter to sort method ?
    Edited by: Mohsin on Oct 11, 2012 3:28 PM

    If you add myType to the array then you can sort on that, assuming you have different values for myType.
    According to PeopleBooks (8.51), API documentation;
    Sort(order)
    Note. This method works with arrays that have only one or two dimensions. You receive a runtime error if you try to use this method with an array that has more than two dimensions.

  • How to initialize Object  Array Data Provider (OADP)with data from txt file

    Hi,
    I want to show in a table some columnar data from a txt file. I ran the creator demo application on OADP successfully. http://blogs.sun.com/divas/entry/using_the_object_array_data
    I created a javabean class to read a txt file.However, I am stuck at how I can fill the data into an OADP array:
    I am familiar with C extensively but not much at java. can anyone help??
    thanks..
    dr.am.mohan rao

    Thanks for that. I changed it a little bit, but when i ran this script, got ORA-06532: Subscript outside of limit.
    declare
    O_voucher_comment SYSADM.AP_COMMENT_COLL := sysadm.ap_comment_coll(null);
    begin
    FAS_AP_EXCEPTIONS.GET_VOUCHER_COMMENTS('FCCAN', '20494753', 0, 'KEHE', O_voucher_comment);
    end;
    PROCEDURE get_voucher_comments (
    v_bu_in IN VARCHAR2,
    v_voucher_in IN VARCHAR2,
    v_line_in IN NUMBER,
    v_userid IN VARCHAR2,
    voucher_comment OUT      sysadm.ap_comment_coll
    IS
    i NUMBER := 1;
    v_comments VARCHAR2 (254) := ' ';
    comment_type sysadm.ap_comment_type;
    v_line_num NUMBER := 0;
    CURSOR get_all_comment
    IS
    SELECT voucher_line_num, descr254_mixed FROM ps_fas_ap_comment
    WHERE business_unit = v_bu_in AND voucher_id = v_voucher_in;
    CURSOR get_line_comment
    IS
    SELECT descr254_mixed FROM ps_fas_ap_comment
    WHERE business_unit = v_bu_in AND voucher_id = v_voucher_in
    AND voucher_line_num = v_line_in;
    BEGIN
    --voucher_comment() := SYSADM.ap_comment_type (NULL, NULL, NULL, NULL, NULL, NULL);
    --' ', ' ', 0, ' ', '', ' ' sysadm.ap_comment_coll
    voucher_comment := sysadm.ap_comment_coll(null);
    IF v_line_in = 0
    THEN
    OPEN get_all_comment;
    LOOP
    FETCH get_all_comment
    INTO v_line_num, v_comments;
              if i > 1
              then
                   voucher_comment.EXTEND;
              end if;
    voucher_comment (i) := ap_comment_type (v_bu_in,
    v_voucher_in, v_line_num, v_userid,
    TO_DATE (TO_CHAR (SYSDATE, 'DD-MON-YYYY HH24:MI:SS'), 'DD-MON-YYYY HH24:MI:SS'), v_comments );
    i := i + 1;
    END LOOP;
    ELSE
    OPEN get_line_comment;
    LOOP
    FETCH get_line_comment
    INTO v_comments;
              voucher_comment.extend(6);
    voucher_comment (i) := ap_comment_type (v_bu_in, v_voucher_in, v_line_num, v_userid, TO_DATE (TO_CHAR (SYSDATE, 'DD-MON-YYYY HH24:MI:SS' ), 'DD-MON-YYYY HH24:MI:SS'), v_comments);
    i := i + 1;
    END LOOP;
    END IF;
    END get_voucher_comments;

  • Creating an array of size n with random #'s

    can anyone help me? i just need to make an array of size n (exmaple 250) with the data filled in with random #'s instead of consecutive #'s

    yes an array of size n shuffledPseudo code
    Fill an array of length 'n' with the numbers 0 to n-1 (or 1 to n if this is what you want)
    Shuffle the numbers -
    Set 'index' to the last element index
    while (index > 1)
    At random choose an index ( swapIndex ) less than or equal to index.
    Swap the values in locations swapIndex and index
    Decrement index
    }

  • Compare Two Array

    Hi,
    can you plz help me.
    How i can compare two array. following my code..
    var my_array:Array=Array(5,10,15,20,25,30)
    var new_array:Array=Array(7,8,9,10,11,12,13)
    for(var i:Number=0;i<my_array.length;i++){
        if(my_array[i]==new_array[i]){
            trace(my_array[i])
    Thanks in Advance,
    JaxNa

    hey dear can you tell me one thing..
    when my_array length is 3
    and new_array length is 5
    that time how i can compare two array actually i have this problem..
    var my_array:Array = Array(5, 10, 15, 20);
    var new_array:Array = Array(7, 8, 9, 10, 11, 12);
    for (var i:Number = 0; i<my_array.length; i++) {
         if (my_array[i] == new_array[i]) {
            trace("'My Array' "+i+"("+my_array[i]+") 'new_array' "+i+"("+new_array[i]+") = Matching");
         } else {
            trace("'My Array' "+i+"("+my_array[i]+") 'new_array' "+i+"("+new_array[i]+") = Not Matching");
    Thanks

  • Problem with retrieving single digit date and month

    Hello Sir,
    I have the following code. Cuurently when I insert date in this format 1984/11/14 and also in this format 1984/11/4 and retrieve the following two dates, I could successfully populate the dates into the corresponding fields in the form. But earlier in the database, there are some records created in the following formats:
    1984/3/1 and 1987/10/4(i.e.,yyyy/mm/dd).In the form when I try to populate them into their corresponding fields I am able to populate only 1984 into the year filed in the first case and in the second case I could populate 1987 and 10 into the year and month fields. I could not populate the values of the records with single digit either in month or day fields.
    By observing the code, could you let me know what needs to be done in order to populate the previously created records with the single digit month and date.
    This is the jsp for creating and editing the records.
    <HTML>
    <HEAD>
         <TITLE> CRM Event Information </TITLE>
    <script language="JavaScript" src="../javascript/misc.js"></script>
    <script language="JavaScript">
    function saveMe(methodHow) {
         var elementNumber = CRMEvent.elements.length
         var field1 = "";
         var field2 = "";
         var field3 = "";
         var field4 = "";
         var field5 = "";
         var field6 = "";
         var field7 = "";
         var field8 = "";
         for(i=0; i < elementNumber; i++){
              submitForm.elements.name = CRMEvent.elements[i].name;
              submitForm.elements[i].value = CRMEvent.elements[i].value;
         for (k = 0; k < oneToMany1.addedItems.options.length; k++){;
              if (addTemp.field1oneToMany1Value[k] == ""){
              addTemp.field1oneToMany1Value[k] = "9999"
              if (addTemp.field2oneToMany1Value[k] == ""){
              addTemp.field2oneToMany1Value[k] = "99"
              if (addTemp.field3oneToMany1Value[k] == ""){
              addTemp.field3oneToMany1Value[k] = "99"
              if (addTemp.field4oneToMany1Value[k] == ""){
              addTemp.field4oneToMany1Value[k] = "9999"
              if (addTemp.field5oneToMany1Value[k] == ""){
              addTemp.field5oneToMany1Value[k] = " "
              if (addTemp.field6oneToMany1Value[k] == ""){
              addTemp.field6oneToMany1Value[k] = " "
              if (addTemp.field7oneToMany1Value[k] == ""){
              addTemp.field7oneToMany1Value[k] = " "
              if (addTemp.field8oneToMany1Value[k] == ""){
              addTemp.field8oneToMany1Value[k] = " "
              if (eval(oneToMany1.addedItems.options.length - 1) == k){
                   field1 = field1 + addTemp.field1oneToMany1Value[k];
                   field2 = field2 + addTemp.field2oneToMany1Value[k];
                   field3 = field3 + addTemp.field3oneToMany1Value[k];
                   field4 = field4 + addTemp.field4oneToMany1Value[k];
                   field5 = field5 + addTemp.field5oneToMany1Value[k];
                   field6 = field6 + addTemp.field6oneToMany1Value[k];
                   field7 = field7 + addTemp.field7oneToMany1Value[k];
                   field8 = field8 + addTemp.field8oneToMany1Value[k];
              }else{
                   field1 = field1 + addTemp.field1oneToMany1Value[k]+"|";
                   field2 = field2 + addTemp.field2oneToMany1Value[k]+"|";
                   field3 = field3 + addTemp.field3oneToMany1Value[k]+"|";
                   field4 = field4 + addTemp.field4oneToMany1Value[k]+"|";
                   field5 = field5 + addTemp.field5oneToMany1Value[k]+"|";
                   field6 = field6 + addTemp.field6oneToMany1Value[k]+"|";
                   field7 = field7 + addTemp.field7oneToMany1Value[k]+"|";
                   field8 = field8 + addTemp.field8oneToMany1Value[k]+"|";
              submitForm.elements[eval(i)].name      = "eventtype"
              submitForm.elements[eval(i)].value      = field1
              submitForm.elements[eval(i+1)].name      = "dd_crmstart"
              submitForm.elements[eval(i+1)].value      = field2
              submitForm.elements[eval(i+2)].name      = "mm_crmstart"
              submitForm.elements[eval(i+2)].value      = field3
              submitForm.elements[eval(i+3)].name      = "yy_crmstart"
              submitForm.elements[eval(i+3)].value      = field4
              submitForm.elements[eval(i+4)].name      = "crmremark_code"
              submitForm.elements[eval(i+4)].value      = field5
              submitForm.elements[eval(i+5)].name      = "crmperson_firstname"
              submitForm.elements[eval(i+5)].value      = field6
              submitForm.elements[eval(i+6)].name      = "crmperson_lastname"
              submitForm.elements[eval(i+6)].value      = field7
              submitForm.elements[eval(i+7)].name      = "crmnote"
              submitForm.elements[eval(i+7)].value      = field8
              submitForm.elements[eval(i+8)].name      = "mode"
              submitForm.elements[eval(i+8)].value      = methodHow
         submitForm.method="post";
         onSave(submitForm);
         function onSave(form) {
         if (!oneToMany1.addedItems.options.length == 0) {
              for (i=1;i<=oneToMany1.addedItems.options.length;i++) {
                   validate.elements[0].value = addTemp.field4oneToMany1Value[i-1];
                   if (validate.elements[0].value != '9999') {
                        if(!validateForm('validate','validation','isNumber')) {
                             alert("CRM Event Information "+ i + ": Year must be number");
                             return false;      
                        if(!validateForm('validate','validation','checkrange')) {
                             alert("CRM Event Information "+ i + ": Year out of range");
                             return false;      
              form.submit();
              return true;
    </script>
    </HEAD>
    <BODY BGCOLOR=#ffffff>
    <BASEFONT="3">
    <FONT SIZE = -1>
    <%@ page errorPage="errorPage.jsp" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="dss.*" %>
    <!-- instantiate -->
    <jsp:useBean id="pool" scope="session" class="dss.ConnectionPool" />
    <jsp:useBean id="SelectBox" scope="session" class="dss.dataMisc" />
    <jsp:useBean id="query" class="dss.QueryData" scope="session" />
    <%
    // *************check for user session *************
         session = request.getSession();
    if (session.getValue("userSession") == null) {
    response.sendRedirect (response.encodeRedirectUrl
    ("dssLogin.jsp?Origin=dssACCRMEventAddEdit.jsp"));
    else {
         String dhr_id = "";
    String mode = "";
    String eventtype = "9999";
    String crmremark_code = "";
    String crmperson = "";
    String crmnote = "";
    String crmKey = "";
         String dd_crmstart = "99";
         String mm_crmstart = "99";
    Vector tempVector = new Vector();
              Vector CRMEventVector = new Vector();
              Vector CRMEventPerson = new Vector();
              Vector monthVector = new Vector();
              Vector dayVector = new Vector();
              Vector field1Vector = new Vector();
              Vector field5Vector = new Vector();
              Vector field6Vector = new Vector();
              Vector field7Vector = new Vector();
              Vector field8Vector = new Vector();
              Vector field234Vector = new Vector();
              Vector tempDayVector = new Vector();
              Vector tempMonthVector = new Vector();
              Vector tempYearVector = new Vector();
              Connection conn = null ;
              conn = pool.getConnection() ;
              dss.Database db = new dss.Database( conn ) ;
              dhr_id = request.getParameter("dhr_id");
         try {
    mode = request.getParameter("mode");
    dhr_id = request.getParameter("dhr_id");
                   //look up Setting List
                   String strSQL = "";
                   //look up CRM Event Type List
                   strSQL ="select crmtype_code value, item display from code_crmtype order by 2" ;
                   db.setSQL( strSQL ) ;
                   db.query() ;
                   CRMEventVector = db.getSelectionList() ;
                   //look up Month List
                   db.setSQL( "select LPAD(to_char(month_code),2,'0') value , item display from code_month order by 1" ) ;
                   db.query() ;
                   monthVector = db.getSelectionList();
                   //look up Day List
                   db.setSQL( "select LPAD(to_char(day_code),2,'0') value , item display from code_day order by 1" ) ;
                   db.query() ;
                   dayVector = db.getSelectionList();
                   // ************ EDIT Mode *************
    if (mode.equals("edit"))
              //out.println("mode is edit");     
    mode = "edit";
         //***********get archaeology_pkey based on dhr_id
                        int archKey = 0;
                             strSQL = " SELECT archaeology_pkey "+
                                            " FROM archaeology "+
                                            " WHERE UPPER(dhr_id)='"+ dhr_id.toUpperCase() + "'";
                             //out.println(strSQL);
                             Statement stmt2 = conn.createStatement();
                             ResultSet rs2 = stmt2.executeQuery(strSQL);
                             while (rs2.next()) {
                                  archKey = rs2.getInt(1);
                             rs2.close();
                             stmt2.close();
                   // ********* end getting **************
              strSQL = "Select crmtype_code, crmstart, crmremark, crmperson_firstname, crmperson_lastname, crmnote "+
                   " From archaeologycrmevent " +
                   " Where archaeology_pkey =" + archKey ;
              Statement stmtSQL = conn.createStatement();
              ResultSet rset = stmtSQL.executeQuery(strSQL);
              ResultSetMetaData rsmd = rset.getMetaData() ;
                   while (rset.next()) {
                   //get values
                   field1Vector.addElement(rset.getString(1));
                   field234Vector.addElement(rset.getString(2));
                   field5Vector.addElement(rset.getString(3));
                   field6Vector.addElement(rset.getString(4));
                   field7Vector.addElement(rset.getString(5));
                   field8Vector.addElement(rset.getString(6));
                   //crmKey = rset.getString(7);
                   for (int i=0; i<field234Vector.size(); i++){
                        StringTokenizer tempDate = new StringTokenizer((String)field234Vector.elementAt(i),"/");                              
                        while (tempDate.hasMoreTokens() ) {
                             tempYearVector.addElement (     tempDate.nextToken());
                             tempMonthVector.addElement(     tempDate.nextToken());
                             tempDayVector.addElement (     tempDate.nextToken());
         } //end edit
         } //end try
         catch ( Exception e) {
              out.println ( e.toString() ) ;
         } finally {
              db.cleanup() ;
    %>
    <P>
    <FORM NAME="oneToMany1">
    <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BGCOLOR="#BBBBBB">
    <TR>
    <TD BGCOLOR="#002B82" COLSPAN=9 width="100%" height="31">
    <p align="center">
         <font face="Arial" size="2" color="#FFFFFF">
         <b>6. CRM Event Information - </b>DHR ID# : <%=dhr_id %>
         </font>
         </p>
         </td>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="21"><FONT SIZE=-1><B>CRM Event Type: </FONT></B></TD>
    <TD WIDTH=112 height="21">
              <%
              out.println ( SelectBox.strSelectionList((Vector)CRMEventVector.elementAt(0), (Vector)CRMEventVector.elementAt(1), "field1", "", eventtype, "180" ));
              %>
    </TD>
    <TD WIDTH=89 ALIGN="RIGHT" height="21"><FONT SIZE=-1><B>Event Date: </FONT></B></TD>
    <TD WIDTH=455 height="21"><font size="1">
         <%
         out.println ("<b><font size = 1>Date: "+ SelectBox.strSelectionList((Vector)dayVector.elementAt(0), (Vector)dayVector.elementAt(1), "field2", "", dd_crmstart, "180" ));
         out.println ("Month: "+ SelectBox.strSelectionList((Vector)monthVector.elementAt(0), (Vector)monthVector.elementAt(1), "field3", "", mm_crmstart, "180" ));
         %>
    </select><B>Year:</B><input type="text" name="field4" size="4" id="Year" maxlength="4">
    </TD>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="30"><FONT SIZE=-1><B>ID# Associated with Event:</B> </FONT></TD>
    <TD WIDTH=112 height="30">
              <input type="text" name="field5" size="15" value="<%=crmremark_code%>">
    </TD>
    <TD WIDTH=89 ALIGN="RIGHT" height="30"><FONT SIZE=-1><B>
              CRM Person/ Organization: </FONT></B></TD>
    <TD WIDTH=455 height="30">
         <% // Modified by Robert Cox 09/12/2001 - changed field size from 20 to 30 // %>     
         <TABLE BORDER="0">
              <TR><TD>
              <FONT SIZE="1"><B>First:</B></FONT><input type="text" name="field6" size="15">
              </TD>
              <TD>
         <FONT SIZE="1"><B>Last:</B></FONT><input type="text" name="field7" size="15">
              </TD>
              </TR>
         </TABLE>
    </TD>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="79"><FONT SIZE=-1><B>CRM Event Comments: </FONT></B></TD>
    <TD COLSPAN="3" width="660" height="79">
         <TEXTAREA ROWS="5" NAME="field8" cols="65"></TEXTAREA>
         </TD>
    </TR>
    <TR>
    <TD COLSPAN="4">
         <table border="0" cellspacing="0" cellpadding="0" align="center">
         <tr>
         <td width="50" align="left"> </td>
         <td align="center">
              <input type="button" value="Add" onClick="addUpdate(1,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Modify" onClick="addUpdate(2,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Update" onClick="addUpdate(3,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Remove" onClick="addUpdate(4,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
         </td>
         <td width="50" align="right"> </td>
         </tr>
         </table>
    </TD>
    </TR>
    <tr>
    <td width="100%" align="center" height="40" colspan="4"><select size="3" name="addedItems" style="width:100%">
    </td>
    </tr>
    </TABLE>
    <%/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //|------------------------------------------------------------------------------------------------------------------------
    //| Start code for one-to-many in edit mode /
    //|---------------------------------------------
    %>
    <script language="javascript">
    /* Check to see if the necessary arrays have been defined - if not define them */
         try{
              if (!eval("addTemp.addoneToMany1Name")){
              //alert("False");
              addTemp.addoneToMany1Name = Array();
              addTemp.addoneToMany1Value = Array();
              for(i = 1; i <= 8; i++){
                   eval("addTemp.field" + i + "oneToMany1Value = Array();");
              }else{
              //alert("already created");
    /* Catch any errors that may occur when checking if arrays are defined */
         catch(e) {
              alert(e);
    <%
    Enumeration field1_      = field1Vector.elements();
    Enumeration field2_      = tempDayVector.elements();
    Enumeration field3_      = tempMonthVector.elements();
    Enumeration field4_      = tempYearVector.elements();
    Enumeration field5_      = field5Vector.elements();
    Enumeration field6_      = field6Vector.elements();
    Enumeration field7_      = field7Vector.elements();
    Enumeration field8_      = field8Vector.elements();
         Object currentfield1 = "";
         Object currentfield2 = "";
         Object currentfield3 = "";
         Object currentfield4 = "";
         Object currentfield5 = "";
         Object currentfield6 = "";
         Object currentfield7 = "";
         Object currentfield8 = "";
         int counter = 0;
         int clength = 1;
    while (field1_.hasMoreElements()){
    //out.println("while field1_ has more elements");
    //|---------------------------------------------------------------------------------------------------------------------------
    //| define field elements - Use first and second lines if text box or memo field, Use third line if select box /
    //|------------------------------------------------------------------------------------------------------------
    //     currentfield1 = query.replaceString(field1_.nextElement().toString(),"'","\'").trim();
    //     currentfield1 = query.replaceString(currentfield1.toString(),"\"","\\" + "\"");
         currentfield1 = field1_.nextElement();
    //     currentfield2 = query.replaceString(field2_.nextElement().toString(),"'","\'").trim();
    //     currentfield2 = query.replaceString(currentfield2.toString(),"\"","\\" + "\"");
         currentfield2 = field2_.nextElement();
    //     currentfield3 = query.replaceString(field3_.nextElement().toString(),"'","\'").trim();
    //     currentfield3 = query.replaceString(currentfield3.toString(),"\"","\\" + "\"");
         currentfield3 = field3_.nextElement();
         currentfield4 = query.replaceString(field4_.nextElement().toString(),"'","\'").trim();
         currentfield4 = query.replaceString(currentfield4.toString(),"\"","\\" + "\"");
    //     currentfield4 = field4_.nextElement();
         currentfield5 = query.replaceString(field5_.nextElement().toString(),"'","\'").trim();
         currentfield5 = query.replaceString(currentfield5.toString(),"\"","\\" + "\"");
    //     currentfield5 = tempElement;
         currentfield6 = query.replaceString(field6_.nextElement().toString(),"'","\'").trim();
         currentfield6 = query.replaceString(currentfield6.toString(),"\"","\\" + "\"");
    //     currentfield6 = field6_.nextElement();
         currentfield7 = query.replaceString(field7_.nextElement().toString(),"'","\'").trim();
         currentfield7 = query.replaceString(currentfield7.toString(),"\"","\\" + "\"");
    //     currentfield7 = field7_.nextElement();
         currentfield8 = query.replaceString(field8_.nextElement().toString(),"'","\'").trim();
         currentfield8 = query.replaceString(query.replaceString(query.replaceString(currentfield8.toString(),"\"","\\" + "\""),"\r","\\" + "r"),"\n","\\" + "n");
    //     currentfield8 = field8_.nextElement();
         out.println("oneToMany1.addedItems.options.length ="+clength+";");
    // First Line - Displayed fields, Second Line - Count value /
         out.println("oneToMany1.addedItems.options[" + counter + "].text = \"" + currentfield1 + " - " + currentfield2 + " - " + currentfield3 + " - " + currentfield4 + " - " + currentfield7 + " - " + currentfield6 + "\";");
         out.println("oneToMany1.addedItems.options[" + counter + "].value = '" + counter + "';");
    // First Line - Displayed fields, Second Line - Count value /
         out.println("addTemp.addoneToMany1Name[" + counter + "] = \"" + currentfield1 + " - " + currentfield2 + " - " + currentfield3 + " - " + currentfield4 + " - " + currentfield7 + " - " + currentfield6 + "\";");
         out.println("addTemp.addoneToMany1Value[" + counter + "] = \"" + counter + " \";");
    //           Use first line for text boxes and memo fields, Use second line for Select Boxes /
    //     out.println("addTemp.field1oneToMany1Value[" + counter + "] = \"" +      currentfield1 + "\";");
         out.println("addTemp.field1oneToMany1Value[" + counter + "] = '" +      currentfield1 + "';");
    //     out.println("addTemp.field2oneToMany1Value[" + counter + "] = \"" +      currentfield2 + "\";");
         out.println("addTemp.field2oneToMany1Value[" + counter + "] = '" +      currentfield2 + "';");
    //     out.println("addTemp.field3oneToMany1Value[" + counter + "] = \"" +      currentfield3 + " \";");
         out.println("addTemp.field3oneToMany1Value[" + counter + "] = '" +      currentfield3 + "';");
         out.println("addTemp.field4oneToMany1Value[" + counter + "] = \"" +      currentfield4 + "\";");
    //     out.println("addTemp.field4oneToMany1Value[" + counter + "] = '" +      currentfield4 + "';");
         out.println("addTemp.field5oneToMany1Value[" + counter + "] = \"" +      currentfield5 + "\";");
    //     out.println("addTemp.field5oneToMany1Value[" + counter + "] = '" +      currentfield5 + "';");
         out.println("addTemp.field6oneToMany1Value[" + counter + "] = \"" +      currentfield6 + "\";");
    //     out.println("addTemp.field6oneToMany1Value[" + counter + "] = '" +      currentfield6 + "';");
         out.println("addTemp.field7oneToMany1Value[" + counter + "] = \"" +      currentfield7 + "\";");
    //     out.println("addTemp.field7oneToMany1Value[" + counter + "] = '" +      currentfield7 + "';");
         out.println("addTemp.field8oneToMany1Value[" + counter + "] = \"" +      currentfield8 + "\";");
    //     out.println("addTemp.field8oneToMany1Value[" + counter + "] = '" +      currentfield8 + "';");
         clength = clength + 1;
         counter = counter + 1;
    %>
    </script>
    </FORM>
    </FONT>
    <BR>
    <FORM NAME="CRMEvent">
    <input type="hidden" name=dhr_id value=<%=dhr_id %>>
    <!-- <input type="hidden" name=crmKey value=<%//=crmKey %>> -->
    <input type="hidden" name=mode value=<%=mode%>>
    <table border="0" width="100%" cellspacing="1">
    <tr>
         <%
              if (mode.equals("add")) {
              %>
    <td width="67"><input type="button" value="Next >>" name="Next" onClick="callNext(this.form, '<%=dhr_id%>', 'dssMenuChoice.jsp?item=2,1,1,7', '<%=mode%>')" ></td>
    <td width="120"></td>
    <td width="52"><input type="button" value="Save" name="Save" onClick="saveMe('add')"></td>
         <% } else if (mode.equals("edit")){
         %>
    <td width="103"><input type="button" value="<< Previous" name="Previous" onclick="history.go(-1)"></td>
    <td width="67"><input type="button" value="Next >>" name="Next" onClick="callNext(this.form, '<%=dhr_id%>', 'dssMenuChoice.jsp?item=2,1,1,7', '<%=mode%>')" ></td>
    <td width="120"></td>
         <td width="52"><input type="button" value="Save" name="Save" onClick="saveMe('edit')"></td>
         <%
         %>
    </tr>
    </table>
    <%
    }; //end else for checking session
    %>
    </FORM>
    <HR>
    Click the next button to move to the next screen without saving the current screen.<br>
    Click the save button to save the current screen and then move to the next screen.<br>
    <p>
    <form name="submitForm" action="dssACCRMEventDB.jsp" action="post">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    </form>
    <form name="validate">
    <input type="hidden" name="validation">
    </form>
    </BODY>
    </HTML>

    Hello Sir,
    I have the following code. Cuurently when I insert date in this format 1984/11/14 and also in this format 1984/11/4 and retrieve the following two dates, I could successfully populate the dates into the corresponding fields in the form. But earlier in the database, there are some records created in the following formats:
    1984/3/1 and 1987/10/4(i.e.,yyyy/mm/dd).In the form when I try to populate them into their corresponding fields I am able to populate only 1984 into the year filed in the first case and in the second case I could populate 1987 and 10 into the year and month fields. I could not populate the values of the records with single digit either in month or day fields.
    By observing the code, could you let me know what needs to be done in order to populate the previously created records with the single digit month and date.
    This is the jsp for creating and editing the records.
    <HTML>
    <HEAD>
         <TITLE> CRM Event Information </TITLE>
    <script language="JavaScript" src="../javascript/misc.js"></script>
    <script language="JavaScript">
    function saveMe(methodHow) {
         var elementNumber = CRMEvent.elements.length
         var field1 = "";
         var field2 = "";
         var field3 = "";
         var field4 = "";
         var field5 = "";
         var field6 = "";
         var field7 = "";
         var field8 = "";
         for(i=0; i < elementNumber; i++){
              submitForm.elements.name = CRMEvent.elements[i].name;
              submitForm.elements[i].value = CRMEvent.elements[i].value;
         for (k = 0; k < oneToMany1.addedItems.options.length; k++){;
              if (addTemp.field1oneToMany1Value[k] == ""){
              addTemp.field1oneToMany1Value[k] = "9999"
              if (addTemp.field2oneToMany1Value[k] == ""){
              addTemp.field2oneToMany1Value[k] = "99"
              if (addTemp.field3oneToMany1Value[k] == ""){
              addTemp.field3oneToMany1Value[k] = "99"
              if (addTemp.field4oneToMany1Value[k] == ""){
              addTemp.field4oneToMany1Value[k] = "9999"
              if (addTemp.field5oneToMany1Value[k] == ""){
              addTemp.field5oneToMany1Value[k] = " "
              if (addTemp.field6oneToMany1Value[k] == ""){
              addTemp.field6oneToMany1Value[k] = " "
              if (addTemp.field7oneToMany1Value[k] == ""){
              addTemp.field7oneToMany1Value[k] = " "
              if (addTemp.field8oneToMany1Value[k] == ""){
              addTemp.field8oneToMany1Value[k] = " "
              if (eval(oneToMany1.addedItems.options.length - 1) == k){
                   field1 = field1 + addTemp.field1oneToMany1Value[k];
                   field2 = field2 + addTemp.field2oneToMany1Value[k];
                   field3 = field3 + addTemp.field3oneToMany1Value[k];
                   field4 = field4 + addTemp.field4oneToMany1Value[k];
                   field5 = field5 + addTemp.field5oneToMany1Value[k];
                   field6 = field6 + addTemp.field6oneToMany1Value[k];
                   field7 = field7 + addTemp.field7oneToMany1Value[k];
                   field8 = field8 + addTemp.field8oneToMany1Value[k];
              }else{
                   field1 = field1 + addTemp.field1oneToMany1Value[k]+"|";
                   field2 = field2 + addTemp.field2oneToMany1Value[k]+"|";
                   field3 = field3 + addTemp.field3oneToMany1Value[k]+"|";
                   field4 = field4 + addTemp.field4oneToMany1Value[k]+"|";
                   field5 = field5 + addTemp.field5oneToMany1Value[k]+"|";
                   field6 = field6 + addTemp.field6oneToMany1Value[k]+"|";
                   field7 = field7 + addTemp.field7oneToMany1Value[k]+"|";
                   field8 = field8 + addTemp.field8oneToMany1Value[k]+"|";
              submitForm.elements[eval(i)].name      = "eventtype"
              submitForm.elements[eval(i)].value      = field1
              submitForm.elements[eval(i+1)].name      = "dd_crmstart"
              submitForm.elements[eval(i+1)].value      = field2
              submitForm.elements[eval(i+2)].name      = "mm_crmstart"
              submitForm.elements[eval(i+2)].value      = field3
              submitForm.elements[eval(i+3)].name      = "yy_crmstart"
              submitForm.elements[eval(i+3)].value      = field4
              submitForm.elements[eval(i+4)].name      = "crmremark_code"
              submitForm.elements[eval(i+4)].value      = field5
              submitForm.elements[eval(i+5)].name      = "crmperson_firstname"
              submitForm.elements[eval(i+5)].value      = field6
              submitForm.elements[eval(i+6)].name      = "crmperson_lastname"
              submitForm.elements[eval(i+6)].value      = field7
              submitForm.elements[eval(i+7)].name      = "crmnote"
              submitForm.elements[eval(i+7)].value      = field8
              submitForm.elements[eval(i+8)].name      = "mode"
              submitForm.elements[eval(i+8)].value      = methodHow
         submitForm.method="post";
         onSave(submitForm);
         function onSave(form) {
         if (!oneToMany1.addedItems.options.length == 0) {
              for (i=1;i<=oneToMany1.addedItems.options.length;i++) {
                   validate.elements[0].value = addTemp.field4oneToMany1Value[i-1];
                   if (validate.elements[0].value != '9999') {
                        if(!validateForm('validate','validation','isNumber')) {
                             alert("CRM Event Information "+ i + ": Year must be number");
                             return false;      
                        if(!validateForm('validate','validation','checkrange')) {
                             alert("CRM Event Information "+ i + ": Year out of range");
                             return false;      
              form.submit();
              return true;
    </script>
    </HEAD>
    <BODY BGCOLOR=#ffffff>
    <BASEFONT="3">
    <FONT SIZE = -1>
    <%@ page errorPage="errorPage.jsp" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="dss.*" %>
    <!-- instantiate -->
    <jsp:useBean id="pool" scope="session" class="dss.ConnectionPool" />
    <jsp:useBean id="SelectBox" scope="session" class="dss.dataMisc" />
    <jsp:useBean id="query" class="dss.QueryData" scope="session" />
    <%
    // *************check for user session *************
         session = request.getSession();
    if (session.getValue("userSession") == null) {
    response.sendRedirect (response.encodeRedirectUrl
    ("dssLogin.jsp?Origin=dssACCRMEventAddEdit.jsp"));
    else {
         String dhr_id = "";
    String mode = "";
    String eventtype = "9999";
    String crmremark_code = "";
    String crmperson = "";
    String crmnote = "";
    String crmKey = "";
         String dd_crmstart = "99";
         String mm_crmstart = "99";
    Vector tempVector = new Vector();
              Vector CRMEventVector = new Vector();
              Vector CRMEventPerson = new Vector();
              Vector monthVector = new Vector();
              Vector dayVector = new Vector();
              Vector field1Vector = new Vector();
              Vector field5Vector = new Vector();
              Vector field6Vector = new Vector();
              Vector field7Vector = new Vector();
              Vector field8Vector = new Vector();
              Vector field234Vector = new Vector();
              Vector tempDayVector = new Vector();
              Vector tempMonthVector = new Vector();
              Vector tempYearVector = new Vector();
              Connection conn = null ;
              conn = pool.getConnection() ;
              dss.Database db = new dss.Database( conn ) ;
              dhr_id = request.getParameter("dhr_id");
         try {
    mode = request.getParameter("mode");
    dhr_id = request.getParameter("dhr_id");
                   //look up Setting List
                   String strSQL = "";
                   //look up CRM Event Type List
                   strSQL ="select crmtype_code value, item display from code_crmtype order by 2" ;
                   db.setSQL( strSQL ) ;
                   db.query() ;
                   CRMEventVector = db.getSelectionList() ;
                   //look up Month List
                   db.setSQL( "select LPAD(to_char(month_code),2,'0') value , item display from code_month order by 1" ) ;
                   db.query() ;
                   monthVector = db.getSelectionList();
                   //look up Day List
                   db.setSQL( "select LPAD(to_char(day_code),2,'0') value , item display from code_day order by 1" ) ;
                   db.query() ;
                   dayVector = db.getSelectionList();
                   // ************ EDIT Mode *************
    if (mode.equals("edit"))
              //out.println("mode is edit");     
    mode = "edit";
         //***********get archaeology_pkey based on dhr_id
                        int archKey = 0;
                             strSQL = " SELECT archaeology_pkey "+
                                            " FROM archaeology "+
                                            " WHERE UPPER(dhr_id)='"+ dhr_id.toUpperCase() + "'";
                             //out.println(strSQL);
                             Statement stmt2 = conn.createStatement();
                             ResultSet rs2 = stmt2.executeQuery(strSQL);
                             while (rs2.next()) {
                                  archKey = rs2.getInt(1);
                             rs2.close();
                             stmt2.close();
                   // ********* end getting **************
              strSQL = "Select crmtype_code, crmstart, crmremark, crmperson_firstname, crmperson_lastname, crmnote "+
                   " From archaeologycrmevent " +
                   " Where archaeology_pkey =" + archKey ;
              Statement stmtSQL = conn.createStatement();
              ResultSet rset = stmtSQL.executeQuery(strSQL);
              ResultSetMetaData rsmd = rset.getMetaData() ;
                   while (rset.next()) {
                   //get values
                   field1Vector.addElement(rset.getString(1));
                   field234Vector.addElement(rset.getString(2));
                   field5Vector.addElement(rset.getString(3));
                   field6Vector.addElement(rset.getString(4));
                   field7Vector.addElement(rset.getString(5));
                   field8Vector.addElement(rset.getString(6));
                   //crmKey = rset.getString(7);
                   for (int i=0; i<field234Vector.size(); i++){
                        StringTokenizer tempDate = new StringTokenizer((String)field234Vector.elementAt(i),"/");                              
                        while (tempDate.hasMoreTokens() ) {
                             tempYearVector.addElement (     tempDate.nextToken());
                             tempMonthVector.addElement(     tempDate.nextToken());
                             tempDayVector.addElement (     tempDate.nextToken());
         } //end edit
         } //end try
         catch ( Exception e) {
              out.println ( e.toString() ) ;
         } finally {
              db.cleanup() ;
    %>
    <P>
    <FORM NAME="oneToMany1">
    <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0 WIDTH="100%" BGCOLOR="#BBBBBB">
    <TR>
    <TD BGCOLOR="#002B82" COLSPAN=9 width="100%" height="31">
    <p align="center">
         <font face="Arial" size="2" color="#FFFFFF">
         <b>6. CRM Event Information - </b>DHR ID# : <%=dhr_id %>
         </font>
         </p>
         </td>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="21"><FONT SIZE=-1><B>CRM Event Type: </FONT></B></TD>
    <TD WIDTH=112 height="21">
              <%
              out.println ( SelectBox.strSelectionList((Vector)CRMEventVector.elementAt(0), (Vector)CRMEventVector.elementAt(1), "field1", "", eventtype, "180" ));
              %>
    </TD>
    <TD WIDTH=89 ALIGN="RIGHT" height="21"><FONT SIZE=-1><B>Event Date: </FONT></B></TD>
    <TD WIDTH=455 height="21"><font size="1">
         <%
         out.println ("<b><font size = 1>Date: "+ SelectBox.strSelectionList((Vector)dayVector.elementAt(0), (Vector)dayVector.elementAt(1), "field2", "", dd_crmstart, "180" ));
         out.println ("Month: "+ SelectBox.strSelectionList((Vector)monthVector.elementAt(0), (Vector)monthVector.elementAt(1), "field3", "", mm_crmstart, "180" ));
         %>
    </select><B>Year:</B><input type="text" name="field4" size="4" id="Year" maxlength="4">
    </TD>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="30"><FONT SIZE=-1><B>ID# Associated with Event:</B> </FONT></TD>
    <TD WIDTH=112 height="30">
              <input type="text" name="field5" size="15" value="<%=crmremark_code%>">
    </TD>
    <TD WIDTH=89 ALIGN="RIGHT" height="30"><FONT SIZE=-1><B>
              CRM Person/ Organization: </FONT></B></TD>
    <TD WIDTH=455 height="30">
         <% // Modified by Robert Cox 09/12/2001 - changed field size from 20 to 30 // %>     
         <TABLE BORDER="0">
              <TR><TD>
              <FONT SIZE="1"><B>First:</B></FONT><input type="text" name="field6" size="15">
              </TD>
              <TD>
         <FONT SIZE="1"><B>Last:</B></FONT><input type="text" name="field7" size="15">
              </TD>
              </TR>
         </TABLE>
    </TD>
    </TR>
    <TR>
    <TD WIDTH=83 ALIGN="RIGHT" height="79"><FONT SIZE=-1><B>CRM Event Comments: </FONT></B></TD>
    <TD COLSPAN="3" width="660" height="79">
         <TEXTAREA ROWS="5" NAME="field8" cols="65"></TEXTAREA>
         </TD>
    </TR>
    <TR>
    <TD COLSPAN="4">
         <table border="0" cellspacing="0" cellpadding="0" align="center">
         <tr>
         <td width="50" align="left"> </td>
         <td align="center">
              <input type="button" value="Add" onClick="addUpdate(1,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Modify" onClick="addUpdate(2,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Update" onClick="addUpdate(3,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
              <input type="button" value="Remove" onClick="addUpdate(4,8,oneToMany1,Array('field1','field2','field3','field4','field7','field6'))">
         </td>
         <td width="50" align="right"> </td>
         </tr>
         </table>
    </TD>
    </TR>
    <tr>
    <td width="100%" align="center" height="40" colspan="4"><select size="3" name="addedItems" style="width:100%">
    </td>
    </tr>
    </TABLE>
    <%/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //|------------------------------------------------------------------------------------------------------------------------
    //| Start code for one-to-many in edit mode /
    //|---------------------------------------------
    %>
    <script language="javascript">
    /* Check to see if the necessary arrays have been defined - if not define them */
         try{
              if (!eval("addTemp.addoneToMany1Name")){
              //alert("False");
              addTemp.addoneToMany1Name = Array();
              addTemp.addoneToMany1Value = Array();
              for(i = 1; i <= 8; i++){
                   eval("addTemp.field" + i + "oneToMany1Value = Array();");
              }else{
              //alert("already created");
    /* Catch any errors that may occur when checking if arrays are defined */
         catch(e) {
              alert(e);
    <%
    Enumeration field1_      = field1Vector.elements();
    Enumeration field2_      = tempDayVector.elements();
    Enumeration field3_      = tempMonthVector.elements();
    Enumeration field4_      = tempYearVector.elements();
    Enumeration field5_      = field5Vector.elements();
    Enumeration field6_      = field6Vector.elements();
    Enumeration field7_      = field7Vector.elements();
    Enumeration field8_      = field8Vector.elements();
         Object currentfield1 = "";
         Object currentfield2 = "";
         Object currentfield3 = "";
         Object currentfield4 = "";
         Object currentfield5 = "";
         Object currentfield6 = "";
         Object currentfield7 = "";
         Object currentfield8 = "";
         int counter = 0;
         int clength = 1;
    while (field1_.hasMoreElements()){
    //out.println("while field1_ has more elements");
    //|---------------------------------------------------------------------------------------------------------------------------
    //| define field elements - Use first and second lines if text box or memo field, Use third line if select box /
    //|------------------------------------------------------------------------------------------------------------
    //     currentfield1 = query.replaceString(field1_.nextElement().toString(),"'","\'").trim();
    //     currentfield1 = query.replaceString(currentfield1.toString(),"\"","\\" + "\"");
         currentfield1 = field1_.nextElement();
    //     currentfield2 = query.replaceString(field2_.nextElement().toString(),"'","\'").trim();
    //     currentfield2 = query.replaceString(currentfield2.toString(),"\"","\\" + "\"");
         currentfield2 = field2_.nextElement();
    //     currentfield3 = query.replaceString(field3_.nextElement().toString(),"'","\'").trim();
    //     currentfield3 = query.replaceString(currentfield3.toString(),"\"","\\" + "\"");
         currentfield3 = field3_.nextElement();
         currentfield4 = query.replaceString(field4_.nextElement().toString(),"'","\'").trim();
         currentfield4 = query.replaceString(currentfield4.toString(),"\"","\\" + "\"");
    //     currentfield4 = field4_.nextElement();
         currentfield5 = query.replaceString(field5_.nextElement().toString(),"'","\'").trim();
         currentfield5 = query.replaceString(currentfield5.toString(),"\"","\\" + "\"");
    //     currentfield5 = tempElement;
         currentfield6 = query.replaceString(field6_.nextElement().toString(),"'","\'").trim();
         currentfield6 = query.replaceString(currentfield6.toString(),"\"","\\" + "\"");
    //     currentfield6 = field6_.nextElement();
         currentfield7 = query.replaceString(field7_.nextElement().toString(),"'","\'").trim();
         currentfield7 = query.replaceString(currentfield7.toString(),"\"","\\" + "\"");
    //     currentfield7 = field7_.nextElement();
         currentfield8 = query.replaceString(field8_.nextElement().toString(),"'","\'").trim();
         currentfield8 = query.replaceString(query.replaceString(query.replaceString(currentfield8.toString(),"\"","\\" + "\""),"\r","\\" + "r"),"\n","\\" + "n");
    //     currentfield8 = field8_.nextElement();
         out.println("oneToMany1.addedItems.options.length ="+clength+";");
    // First Line - Displayed fields, Second Line - Count value /
         out.println("oneToMany1.addedItems.options[" + counter + "].text = \"" + currentfield1 + " - " + currentfield2 + " - " + currentfield3 + " - " + currentfield4 + " - " + currentfield7 + " - " + currentfield6 + "\";");
         out.println("oneToMany1.addedItems.options[" + counter + "].value = '" + counter + "';");
    // First Line - Displayed fields, Second Line - Count value /
         out.println("addTemp.addoneToMany1Name[" + counter + "] = \"" + currentfield1 + " - " + currentfield2 + " - " + currentfield3 + " - " + currentfield4 + " - " + currentfield7 + " - " + currentfield6 + "\";");
         out.println("addTemp.addoneToMany1Value[" + counter + "] = \"" + counter + " \";");
    //           Use first line for text boxes and memo fields, Use second line for Select Boxes /
    //     out.println("addTemp.field1oneToMany1Value[" + counter + "] = \"" +      currentfield1 + "\";");
         out.println("addTemp.field1oneToMany1Value[" + counter + "] = '" +      currentfield1 + "';");
    //     out.println("addTemp.field2oneToMany1Value[" + counter + "] = \"" +      currentfield2 + "\";");
         out.println("addTemp.field2oneToMany1Value[" + counter + "] = '" +      currentfield2 + "';");
    //     out.println("addTemp.field3oneToMany1Value[" + counter + "] = \"" +      currentfield3 + " \";");
         out.println("addTemp.field3oneToMany1Value[" + counter + "] = '" +      currentfield3 + "';");
         out.println("addTemp.field4oneToMany1Value[" + counter + "] = \"" +      currentfield4 + "\";");
    //     out.println("addTemp.field4oneToMany1Value[" + counter + "] = '" +      currentfield4 + "';");
         out.println("addTemp.field5oneToMany1Value[" + counter + "] = \"" +      currentfield5 + "\";");
    //     out.println("addTemp.field5oneToMany1Value[" + counter + "] = '" +      currentfield5 + "';");
         out.println("addTemp.field6oneToMany1Value[" + counter + "] = \"" +      currentfield6 + "\";");
    //     out.println("addTemp.field6oneToMany1Value[" + counter + "] = '" +      currentfield6 + "';");
         out.println("addTemp.field7oneToMany1Value[" + counter + "] = \"" +      currentfield7 + "\";");
    //     out.println("addTemp.field7oneToMany1Value[" + counter + "] = '" +      currentfield7 + "';");
         out.println("addTemp.field8oneToMany1Value[" + counter + "] = \"" +      currentfield8 + "\";");
    //     out.println("addTemp.field8oneToMany1Value[" + counter + "] = '" +      currentfield8 + "';");
         clength = clength + 1;
         counter = counter + 1;
    %>
    </script>
    </FORM>
    </FONT>
    <BR>
    <FORM NAME="CRMEvent">
    <input type="hidden" name=dhr_id value=<%=dhr_id %>>
    <!-- <input type="hidden" name=crmKey value=<%//=crmKey %>> -->
    <input type="hidden" name=mode value=<%=mode%>>
    <table border="0" width="100%" cellspacing="1">
    <tr>
         <%
              if (mode.equals("add")) {
              %>
    <td width="67"><input type="button" value="Next >>" name="Next" onClick="callNext(this.form, '<%=dhr_id%>', 'dssMenuChoice.jsp?item=2,1,1,7', '<%=mode%>')" ></td>
    <td width="120"></td>
    <td width="52"><input type="button" value="Save" name="Save" onClick="saveMe('add')"></td>
         <% } else if (mode.equals("edit")){
         %>
    <td width="103"><input type="button" value="<< Previous" name="Previous" onclick="history.go(-1)"></td>
    <td width="67"><input type="button" value="Next >>" name="Next" onClick="callNext(this.form, '<%=dhr_id%>', 'dssMenuChoice.jsp?item=2,1,1,7', '<%=mode%>')" ></td>
    <td width="120"></td>
         <td width="52"><input type="button" value="Save" name="Save" onClick="saveMe('edit')"></td>
         <%
         %>
    </tr>
    </table>
    <%
    }; //end else for checking session
    %>
    </FORM>
    <HR>
    Click the next button to move to the next screen without saving the current screen.<br>
    Click the save button to save the current screen and then move to the next screen.<br>
    <p>
    <form name="submitForm" action="dssACCRMEventDB.jsp" action="post">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    <input type="hidden" name="temporary"><input type="hidden" name="temporary"><input type="hidden" name="temporary">
    </form>
    <form name="validate">
    <input type="hidden" name="validation">
    </form>
    </BODY>
    </HTML>

  • How to split numbers in a string with a single SQL on 10.2?

    Is it possible to to below action with a single SQL on 10.2?
    input > '3abc4de5f'
    output > '3,abc,4,de,5,f'
    Thank you.

    It might be a NLS issue. Follow the suggestion of Karthick_Arp and use [[:alpha:]] instead:Is is
    SQL> with t as (select 'a' l from dual union all
               select 'b' l from dual union all
               select 'A' l from dual)
    select * from t
    order by nlssort(l, 'NLS_SORT=GERMAN')
    L
    a
    A
    b
    3 rows selected.
    SQL> with t as (select 'a' l from dual union all
               select 'b' l from dual union all
               select 'A' l from dual)
    select * from t
    order by nlssort(l, 'NLS_SORT=DANISH')
    L
    A
    a
    b
    3 rows selected.You could also do a case insensitive match (As in TXT3)
    SQL> alter session set NLS_SORT=DANISH
    Session altered.
    SQL> with t as (select 'aADSFF3332abc4342de5Df' txt from dual
               union all
               select '3abc4de5f' from dual)
    select txt, regexp_replace(txt, '([0-9]{1,}|[a-z]{1,})', '\1,') txt2
               ,regexp_replace(txt, '([0-9]{1,}|[a-z]{1,})', '\1,', 1, 0, 'i') txt3
      from t
    TXT                            TXT2                           TXT3                         
    aADSFF3332abc4342de5Df         a,ADSFF,3332,abc,4342,de,5,Df, aADSFF,3332,abc,4342,de,5,Df,
    3abc4de5f                      3,abc,4,de,5,f,                3,abc,4,de,5,f,              
    2 rows selected.
    SQL> alter session set NLS_SORT=GERMAN
    Session altered.
    SQL> with t as (select 'aADSFF3332abc4342de5Df' txt from dual
               union all
               select '3abc4de5f' from dual)
    select txt, regexp_replace(txt, '([0-9]{1,}|[a-z]{1,})', '\1,') txt2
      from t
    TXT                            TXT2                         
    aADSFF3332abc4342de5Df         aADSFF,3332,abc,4342,de,5,Df,
    3abc4de5f                      3,abc,4,de,5,f,              
    2 rows selected.Regards
    Peter

  • SQL Injection, replace single quote with two single quotes?

    Is replacing a single quote with two single quotes adequate
    for eliminating
    SQL injection attacks? This article (
    http://www.devguru.com/features/kb/kb100206.asp
    ) offers that advice, and it
    enabled me to allow users to search name fields in the
    database that contain
    single quotes.
    I was advised to use "Paramaterized SQL" in an earlier post,
    but I can't
    understand the concept behind that method, and whether it
    applies to
    queries, writes, or both.

    Then you can use both stored procedures and prepared
    statements.
    Both provide better protection than simply replacing
    apostrophes.
    Prepared statements are simple:
    Set myCommand = Server.CreateObject("ADODB.Command")
    ...snip...
    myCommand.CommandText = "INSERT INTO Users([Name], [Email])
    VALUES (?, ?)"
    ...snip...
    myCommand.Parameters.Append
    myCommand.CreateParameter("@Name",200,1,50,Name)
    myCommand.Parameters.Append
    myCommand.CreateParameter("@Email",200,1,50,Email)
    myCommand.Execute ,,128 'the ,,128 sets execution flags that
    tell ADO not to
    look for rows to be returned. This saves the expense of
    creating a
    recordset object you don't need.
    Stored procedures are executed in a similar manner. DW can
    help you with a
    stored procedure through the "Command (Stored Procedure)"
    server behavior.
    You can see a full example of a prepared statement by looking
    at DW's
    recordset code after you've created a recordset using version
    8.02.
    "Mike Z" <[email protected]> wrote in message
    news:eo5idq$3qr$[email protected]..
    >I should have repeated this, I am using VBScript in ASP,
    with an Access DB.
    >

  • Replace multiple space characters with a single space

    Hi,
    Oracle 11g R2.
    Looking for a way to replace multiple space characters in a row with a single space. For example, the text "abc abc" should look like "abc abc". I tried toying with replace, but it only works for the case of 2 spaces. Need a solution for the cases where there could be 2 or more spaces.
    select replace(column1, chr(32)||chr(32), chr(32)) from tablea

    Hi,
    If you had to do this without regular expressions, you could use:
    SELECT  REPLACE ( REPLACE ( REPLACE (str, ' ', '~ ')
                     , ' ~'
              , '~ '
              )     AS new_str
    FROM    table_x;assuming there is some sub-string (I used '~' above) that never occurs right next to a space.
    However, unless you're uisng Oracle 9 (or earlier, which you're not doing) you don't have to do this without regular expressions. As you can see, the way Solomon showed is much simpler.

  • dvt:lineGraph with a single point

    Hi,
    I need to display the Line graph even with the single row of data plotted as a dot.(value across date). its expecting minimum two values across date .how to go about this? the line graph demands minimum of two points to join as a line.
    also, i need to display high range and low range and then the graph line with the respective value. how to go about this?
    Thanks

    OK, using the tornado example. i want the point where the 'tornado' meets the 'ground' to spin so that the 'tornado', well, looks like a tornado, spinning around a specific, i.e. x,y,z pixel. instead i have a tornado that seems to be pulling doughnuts in the farm carving out a huge cirlce (like the aliens do) rather than what a stationery tornado would carve out (if there was such a thing).
    if it helps, think about the bounding box that surrounds an object or layer. the entire bounding box spins around the anchor point, or at least that's what it seems it is doing. it draws a huge circle that it ROTATES around rather then one point that is SPINS around. think about rotating a camera around it's Y axis, the whole box rotates, moving everything rather than spinning without moving. thanks.
    hope this helps.

Maybe you are looking for