473,511 Members | 16,260 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

if and else write statement in c

kirubagari
158 New Member
Expand|Select|Wrap|Line Numbers
  1. *
  2.  *
  3.  * Function Name : int Generate_PR_Report 
  4.  * Program:
  5.  * Purpose: -Gather data on problematic lot and put into the log file for user 
  6.              reference.
  7.  ********************************************************************************/
  8. int Generate_PR_Report(
  9.             char* startDate, 
  10.             char* endDate, 
  11.             struct parameters* parms) 
  12. {     
  13.     /***************************************************
  14.      * Preparation 
  15.      ***************************************************/ 
  16.     /* Variable declaration */ 
  17.     int skipLotCntr = 0; 
  18.     int numOfFiles = 0; 
  19.     int compQty = 0;
  20.     int indexOfComp = 0; 
  21.     int indexOfCarHistRecord = 0; 
  22.  
  23.     vc2_LotSK lot_sk; 
  24.     vc2_TxnSK txn_sk;     
  25.     vc2_Operation action; 
  26.     vc2_LotId lot; 
  27.     vc2_StepId stepId;     
  28.     vc2_StepId sorterAction; 
  29.     vc2_Stage stage; 
  30.     vc2_Recipe recipe; 
  31.     vc2_Operation operation; 
  32.     vc2_Operation subOperation; 
  33.     vc2_WaferQty qtyIn; 
  34.     vc2_WaferQty qtyOut; 
  35.     vc2_WaferQty actualQty; 
  36.     vc2_EqpId eqpId; 
  37.     vc2_Device device; 
  38.     vc2_Technology tech; 
  39.     vc2_DateTime toTime; 
  40.     vc2_DateTime tiTime; 
  41.     vc2_DateTime createTime;  
  42.     vc2_UserId employee; 
  43.     vc2_CarrierId carrierId; 
  44.     vc2_LotId finalLotId; 
  45.     vc2_GroupHistKey groupHistKey; 
  46.     vc2_PlanId planId;     
  47.     vc2_SlotPosition slot; 
  48.     vc2_CarrierId origCass; 
  49.     vc2_VScriberId inHouseScribe; 
  50.     vc2_VScriberId vendorScribe; 
  51.     vc2_CarrierId finalCass; 
  52.     vc2_SlotPosition origSlotArray[MAX_WAFERQTY_PER_LOT]; 
  53.     vc2_CarrierId origCassArray[MAX_WAFERQTY_PER_LOT]; 
  54.     vc2_VScriberId inHouseScribeArray[MAX_WAFERQTY_PER_LOT];  
  55.     vc2_VScriberId vendorScribeArray[MAX_WAFERQTY_PER_LOT]; 
  56.     vc2_SlotPosition finalSlotArray[MAX_WAFERQTY_PER_LOT]; 
  57.     vc2_CarrierId finalCassArray[MAX_WAFERQTY_PER_LOT]; 
  58.  
  59.     vc2_VScriberId scribeId;
  60.     vc2_SysId carHistSysId; 
  61.     vc2_SysId carHistTxnTime; 
  62.     vc2_SysId carHistSysIdArray[MAX_CARHISTRECORD_NUM];     
  63.     vc2_SysId carHistTxnTimeArray[MAX_CARHISTRECORD_NUM]; 
  64.     int finalFlag = FALSE; 
  65.     char currDateTime[20]; 
  66.     char* pTmp = NULL; 
  67.  
  68.     /* Reset memory */ 
  69.     memset(scribeId, 0, sizeof(scribeId)); 
  70.     memset(currDateTime, 0, sizeof(currDateTime)); 
  71.     memset(carHistSysId, 0, sizeof(carHistSysId));     
  72.     memset(carHistTxnTime, 0, sizeof(carHistTxnTime));     
  73.     memset(carHistSysIdArray, 0, sizeof(carHistSysIdArray)); 
  74.     memset(carHistTxnTimeArray, 0, sizeof(carHistTxnTimeArray)); 
  75.      /***************************************************
  76.      * Query data  
  77.      ***************************************************/ 
  78.     /* Get 'Sorter Action' lot (lot_sk, txn_sk) list */ 
  79.     EXEC SQL DECLARE wsSaCursor1 CURSOR FOR
  80.               SELECT wip.lot_sk, wip.txn_sk 
  81.                 FROM hdbxuser.fwhdbwipstephistory@hdbsil sh, 
  82.                        hdbxuser.fwhdbwiptransaction@hdbsil wip 
  83.                WHERE wip.wipstep_sk = sh.wipstep_sk 
  84.                  AND wip.activity = 'TrackIn' 
  85.                  AND wip.txntime = sh.trackintime 
  86.                  AND sh.trackouttime BETWEEN :startDate AND :endDate; 
  87.  
  88.     /* Open cursor */ 
  89.     EXEC SQL OPEN wsSaCursor1;
  90.  
  91.     /* Loop, fetching all salesperson's statistics.
  92.      * Cause the program to break the loop when no more
  93.      * data can be retrieved on the cursor.
  94.      */    
  95.     EXEC SQL WHENEVER NOT FOUND DO break; 
  96.  
  97.     for( ; ;) 
  98.     {    
  99.         /* Reset memory */         
  100.         memset(lot_sk, NULL, sizeof(lot_sk)); 
  101.         memset(txn_sk, NULL, sizeof(txn_sk));     
  102.         memset(action, NULL, sizeof(action)); 
  103.         memset(lot, NULL, sizeof(lot)); 
  104.         memset(stepId, NULL, sizeof(stepId)); 
  105.         memset(sorterAction, NULL, sizeof(sorterAction)); 
  106.         memset(stage, NULL, sizeof(stage)); 
  107.         memset(recipe, NULL, sizeof(recipe));     
  108.         memset(operation, NULL, sizeof(operation)); 
  109.         memset(subOperation, NULL, sizeof(subOperation)); 
  110.         memset(qtyIn, NULL, sizeof(qtyIn));
  111.         memset(qtyOut, NULL, sizeof(qtyOut));
  112.         memset(actualQty, NULL, sizeof(actualQty)); 
  113.         memset(eqpId, NULL, sizeof(eqpId)); 
  114.         memset(device, NULL, sizeof(device)); 
  115.         memset(tech, NULL, sizeof(tech)); 
  116.         memset(toTime, NULL, sizeof(toTime)); 
  117.         memset(tiTime, NULL, sizeof(tiTime)); 
  118.         memset(createTime, NULL, sizeof(createTime));  
  119.         memset(employee, NULL, sizeof(employee)); 
  120.         memset(carrierId, NULL, sizeof(carrierId)); 
  121.         memset(finalLotId, NULL, sizeof(finalLotId)); 
  122.         memset(groupHistKey, NULL, sizeof(groupHistKey)); 
  123.         memset(planId, NULL, sizeof(planId)); 
  124.         memset(origSlotArray, NULL, sizeof(origSlotArray)); 
  125.         memset(origCassArray, NULL, sizeof(origCassArray)); 
  126.         memset(inHouseScribeArray, NULL, sizeof(inHouseScribeArray)); 
  127.         memset(vendorScribeArray, NULL, sizeof(vendorScribeArray)); 
  128.         memset(finalSlotArray, NULL, sizeof(finalSlotArray)); 
  129.         memset(finalCassArray, NULL, sizeof(finalCassArray)); 
  130.  
  131.         /* Get txn_sk */ 
  132.         EXEC SQL FETCH wsSaCursor1 INTO :lot_sk, :txn_sk;
  133.  
  134.         /* Skip it if no data found  */
  135.         EXEC SQL WHENEVER NOT FOUND GOTO NOTFOUND; 
  136.  
  137.         /* To check whether the lot perform 'Sorter Action' or not */   
  138.         EXEC SQL  SELECT LOWER (recipe), transportid, stage, device 
  139.                     INTO :recipe, :carrierId, :stage, :device 
  140.                               FROM (SELECT lotrecipe.attrvalue recipe,
  141.                                            lottransportid.attrvalue transportid, lotstage.attrvalue stage,
  142.                                            lotdevice.attrvalue device
  143.                                       FROM hdbxuser.fwhdbwiplotattrinstance@hdbsil lotrecipe,
  144.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotstage,
  145.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lottransportid,
  146.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotdevice
  147.                                      WHERE lotrecipe.lot_sk = :lot_sk
  148.                                        AND :txn_sk BETWEEN lotrecipe.startsequence AND lotrecipe.stopsequence
  149.                                        AND lotrecipe.attrname = 'Recipe'
  150.                                        AND (   LOWER (lotrecipe.attrvalue) LIKE '%verify%'
  151.                                             OR (LOWER (lotrecipe.attrvalue) LIKE '%random%')
  152.                                             OR (LOWER (lotrecipe.attrvalue) LIKE '%reorder%')
  153.                                            )
  154.                                        AND lotstage.lot_sk = :lot_sk
  155.                                        AND :txn_sk BETWEEN lotstage.startsequence AND lotstage.stopsequence
  156.                                        AND lotstage.attrname = 'Stage'
  157.                                        AND lottransportid.lot_sk = :lot_sk
  158.                                        AND :txn_sk BETWEEN lottransportid.startsequence
  159.                                                        AND lottransportid.stopsequence
  160.                                        AND lottransportid.attrname = 'transportId'
  161.                                        AND lotdevice.lot_sk = :lot_sk
  162.                                        AND :txn_sk BETWEEN lotdevice.startsequence AND lotdevice.stopsequence
  163.                                        AND lotdevice.attrname = 'partProgId'
  164.                                     UNION ALL
  165.                                     SELECT lotsorteraction.attrvalue recipe,
  166.                                            lottransportid.attrvalue transportid, lotstage.attrvalue stage,
  167.                                            lotdevice.attrvalue device
  168.                                       FROM hdbxuser.fwhdbwiplotattrinstance@hdbsil lotsorteraction,
  169.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotstage,
  170.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lottransportid,
  171.                                            hdbxuser.fwhdbwiplotattrinstance@hdbsil lotdevice
  172.                                      WHERE lotsorteraction.lot_sk = :lot_sk
  173.                                        AND :txn_sk BETWEEN lotsorteraction.startsequence
  174.                                                        AND lotsorteraction.stopsequence
  175.                                        AND lotsorteraction.attrname = 'SorterAction'
  176.                                        AND lotsorteraction.attrvalue IN ('REORDER', 'VERIFY')
  177.                                        AND lotstage.lot_sk = :lot_sk
  178.                                        AND :txn_sk BETWEEN lotstage.startsequence AND lotstage.stopsequence
  179.                                        AND lotstage.attrname = 'Stage'
  180.                                        AND lottransportid.lot_sk = :lot_sk
  181.                                        AND :txn_sk BETWEEN lottransportid.startsequence
  182.                                                        AND lottransportid.stopsequence
  183.                                        AND lottransportid.attrname = 'transportId'
  184.                                        AND lotdevice.lot_sk = :lot_sk
  185.                                        AND :txn_sk BETWEEN lotdevice.startsequence AND lotdevice.stopsequence
  186.                                        AND lotdevice.attrname = 'partProgId');     
  187.  
  188.         /* Get lot detail information */ 
  189.         EXEC SQL  SELECT wipin.lotid, wipout.userid, wipin.txntime, wipin.lotqtyout,
  190.                                    wipout.txntime totime, wipout.lotid finallotid, wipin.grouphistkey,
  191.                                    sh.LOCATION, sh.stepid, sh.planid, sh.productname tech, 
  192.                                    lot.createtxntime 
  193.                               INTO :lot, :employee, :tiTime, :actualQty, :toTime, :finalLotId, :groupHistKey, 
  194.                                      :eqpId, :stepId, :planId, :tech, :createTime 
  195.                               FROM hdbxuser.fwhdblot@hdbsil lot,
  196.                                    hdbxuser.fwhdbwipstephistory@hdbsil sh,
  197.                                    hdbxuser.fwhdbwiptransaction@hdbsil wipout,
  198.                                    hdbxuser.fwhdbwiptransaction@hdbsil wipin
  199.                              WHERE lot.lot_sk = wipin.lot_sk
  200.                                AND wipout.grouphistkey = wipin.grouphistkey
  201.                                AND wipout.activity = 'TrackOut'
  202.                                AND sh.wipstep_sk = wipout.wipstep_sk
  203.                                AND wipin.txn_sk = :txn_sk; 
  204.  
  205.         /* Get component Id list */ 
  206.         EXEC SQL DECLARE comp1_Cursor CURSOR FOR 
  207.                   SELECT lot.lotid || '.' || comp.POSITION inhousescribe,
  208.                                      comp.componentid vendorscribe                  
  209.                     FROM hdbxuser.fwhdblot@hdbsil lot,
  210.                          hdbxuser.fwhdbwipcomponent@hdbsil comp
  211.                    WHERE lot.lot_sk = comp.originallot_sk
  212.                      AND comp.lot_sk = :lot_sk
  213.                      AND :txn_sk BETWEEN startsequence AND stopsequence 
  214.                      AND comp.status <> 'Scrapped'
  215.                                      AND comp.position IS NULL 
  216.                 ORDER BY comp.componentid; 
  217.  
  218.         EXEC SQL OPEN comp1_Cursor; 
  219.         EXEC SQL WHENEVER NOT FOUND DO break; 
  220.  
  221.         indexOfComp = 0; 
  222.         for(; ;) 
  223.         { 
  224.             memset(inHouseScribe, NULL, sizeof(inHouseScribe)); 
  225.             memset(vendorScribe, NULL, sizeof (vendorScribe)); 
  226.  
  227.             EXEC SQL FETCH comp1_Cursor INTO :inHouseScribe, :vendorScribe;              
  228.             strcpy(inHouseScribeArray[indexOfComp], inHouseScribe); 
  229.             strcpy(vendorScribeArray[indexOfComp], vendorScribe);     
  230.             indexOfComp++; 
  231.         }     
  232.         compQty = indexOfComp; 
  233.         EXEC SQL CLOSE comp1_Cursor; 
  234.  
  235.         /* 
  236.          * The following is to retrieve component Id slot-map 
  237.          * information: orignal -- final position 
  238.          * 
  239.          * 1. Get SysId/TxnTime list from FwCarrierHistory in desc order; 
  240.          *    Time range: create time ~ to time 
  241.          *    SysId list is stored in an array that size is 10. 
  242.          * 2. Loop: wafer by wafer 
  243.          *    2.1 Get final position (FwCarrierHistory_PN2M) 
  244.          *        2.1.1 Make sure TxnTime is between TiTime and ToTime 
  245.          *        2.1.2 Get final position by using the lastest sysId 
  246.          *    2.2 Get original position  by using the latest SysId; 
  247.          *        2.2.1 Make sure TxnTime is earlier TiTime. 
  248.          *              If not, skip to previous record (SysId); 
  249.          *        2.2.2 Get original position by using SysId. If not found, 
  250.          *              skip to previous record (SysId) 
  251.          */         
  252.  
  253.         /* VERY IMPORTANT */ 
  254.         /* Minus 1 min (60 seconds) to create time */ 
  255.         /* We may fail to get data if using create time in some cases  
  256.          * because CARRIER transaction is done eariler than WIP. 
  257.          * For example, one child is created (split) in '20090806 152152000', 
  258.          * but the Assign Component happen in 20090806 152151000
  259.          */         
  260.         AddSeconds( createTime, -60 ); 
  261.  
  262.         /* Get SysId/TxnTime list from FwCarrierHistory */ 
  263.         EXEC SQL DECLARE carhist_Cursor1 CURSOR FOR 
  264.                     SELECT   sysid, txntime 
  265.                         FROM caruser.fwcarrierhistory
  266.                        WHERE carrierid = :carrierId
  267.                          AND activity IN
  268.                                 ('FwCarrierAssignComponentTxn',
  269.                                  'FwCarrierModifyComponentPositionTxn',
  270.                                  'ReAssociateTo'
  271.                                 )
  272.                          AND txntime BETWEEN :createTime AND :toTime 
  273.                     ORDER BY txntime DESC; 
  274.  
  275.         EXEC SQL OPEN carhist_Cursor1; 
  276.         EXEC SQL WHENEVER NOT FOUND DO break; 
  277.  
  278.         memset(carHistSysIdArray, 0, sizeof(carHistSysIdArray)); 
  279.         memset(carHistTxnTimeArray, 0, sizeof(carHistTxnTimeArray)); 
  280.  
  281.         for(indexOfCarHistRecord = 0; indexOfCarHistRecord < MAX_CARHISTRECORD_NUM; indexOfCarHistRecord++) 
  282.         {     
  283.             memset(carHistSysId, 0, sizeof(carHistSysId));     
  284.             memset(carHistTxnTime, 0, sizeof(carHistTxnTime));     
  285.  
  286.             EXEC SQL FETCH carhist_Cursor1
  287.  
  288.              INTO :carHistSysId, :carHistTxnTime;              
  289.             strcpy(carHistSysIdArray[indexOfCarHistRecord], carHistSysId); 
  290.             strcpy(carHistTxnTimeArray[indexOfCarHistRecord], carHistTxnTime);     
  291.         }     
  292.         EXEC SQL CLOSE carhist_Cursor;                             
  293.  
  294.         /* To get final & original position for each wafer */                     
  295.         for (indexOfComp = 0; indexOfComp < compQty; indexOfComp++) 
  296.         { 
  297.             finalFlag = FALSE; 
  298.             memset(scribeId, NULL, sizeof(scribeId)); 
  299.             strcpy(scribeId, vendorScribeArray[indexOfComp]); 
  300.  
  301.             /* Loop: to find original-final slot position */ 
  302.             for(indexOfCarHistRecord = 0; indexOfCarHistRecord < MAX_CARHISTRECORD_NUM; indexOfCarHistRecord++) 
  303.             { 
  304.                 memset(slot, NULL, sizeof(slot)); 
  305.                 memset(carHistSysId, 0, sizeof(carHistSysId)); 
  306.  
  307.                 strcpy(carHistSysId, carHistSysIdArray[indexOfCarHistRecord]); 
  308.  
  309.                 EXEC SQL WHENEVER NOT FOUND CONTINUE;
  310.  
  311.                 EXEC SQL      SELECT valdata slot 
  312.                               INTO :slot 
  313.                               FROM caruser.fwcarrierhistory_pn2m
  314.                              WHERE fromid = :carHistSysId AND linkname = 'components'
  315.                                    AND keydata = :scribeId;             
  316.  
  317.                 if (strlen(slot) > 0)                 
  318.                 { 
  319.                     if (strcmp(carHistTxnTimeArray[indexOfCarHistRecord], tiTime) > 0) 
  320.                     { 
  321.                         /* Finalflag is to make sure to get the correst slot position (latest).  
  322.                          * To handle abnormal case: namely that there are multiple slot 
  323.                          * mapping changes during the period of Track-In and Track-Out. 
  324.                          */                         
  325.                         if (finalFlag == FALSE) 
  326.                         { 
  327.                             /* Final position */ 
  328.                             strcpy(finalSlotArray[indexOfComp], slot); 
  329.                             strcpy(finalCassArray[indexOfComp], carrierId); 
  330.  
  331.                             finalFlag = TRUE; 
  332.                         } 
  333.                     } 
  334.                     else 
  335.                     { 
  336.                         /* Original position */ 
  337.                         strcpy(origSlotArray[indexOfComp], slot); 
  338.                         strcpy(origCassArray[indexOfComp], carrierId); 
  339.  
  340.                         /* If final position value is NULL, it is assumed that 
  341.                          * the slot position does not change, same as original one */ 
  342.                         if (strlen(finalSlotArray[indexOfComp]) == 0) 
  343.                         { 
  344.                             strcpy(finalSlotArray[indexOfComp], slot); 
  345.                             strcpy(finalCassArray[indexOfComp], carrierId); 
  346.                         } 
  347.  
  348.                         break; 
  349.                     } 
  350.                 } 
  351.             } 
  352.         } 
  353.  
  354.         /* Assign value to 'action', 'operation', 'suboperation' */ 
  355.         if (strstr(recipe, "random"))  
  356.         { 
  357.             strcpy(action, OPERATION_RANDOMIZE); 
  358.             strcpy(operation, stepId); 
  359.  
  360.             /* Strip out XX stage stuff/sortorder in stage name */ 
  361.             pTmp = strchr(stage, ':'); 
  362.             if (pTmp != NULL) 
  363.                 strcpy(subOperation, Trim_End(++pTmp)); 
  364.             else 
  365.                 strcpy(subOperation, stage); 
  366.         } 
  367.         else if (strstr(recipe, "reorder")) 
  368.         { 
  369.             strcpy(action, OPERATION_REORDER); 
  370.             strcpy(operation, "reorder"); 
  371.             strcpy(subOperation, "reorder"); 
  372.         } 
  373.         else if (strstr(recipe, "verify")) 
  374.         { 
  375.             /* 
  376.             if (strstr(stepId, "SorterAction")) 
  377.             { 
  378.                 strcpy(action, OPERATION_VERIFY); 
  379.             } 
  380.             else 
  381.             { 
  382.                 strcpy(action, OPERATION_INLINEVERIFY); 
  383.             } 
  384.             */ 
  385.             strcpy(action, OPERATION_VERIFY); 
  386.             strcpy(operation, "verify"); 
  387.             strcpy(subOperation, "verify"); 
  388.         }         
  389.         else 
  390.         {             
  391.             strcpy(action, recipe); 
  392.             strcpy(operation, recipe); 
  393.             strcpy(subOperation, recipe); 
  394.         } 
  395.  
  396.  
  397.     if (strlen (inHouseScribeArray[indexOfComp]) == 0)
  398.        {
  399.          return ;
  400.        }
  401.      else 
  402.        {
  403.          Write_PR_DataFile(startDate, endDate, action, lot, operation, subOperation, 
  404.                     actualQty, eqpId, device, tech, toTime, employee, origSlotArray, 
  405.                     origCassArray, inHouseScribeArray, vendorScribeArray, finalSlotArray, 
  406.                     finalCassArray, parms); 
  407.  
  408.         numOfFiles++; 
  409.         #ifdef DEBUG 
  410.         printf("  #%d lot data is extracted\n", numOfFiles); 
  411.         #endif 
  412.     continue;
  413.  
  414. NOTFOUND:
  415.         skipLotCntr++; 
  416.         #ifdef DEBUG 
  417.         printf("  #%d lot is skipped\n", skipLotCntr); 
  418.         #endif 
  419.         ; 
  420.     } 
  421.        }
  422.     /* Close cursor */ 
  423.   EXEC SQL CLOSE wsSaCursor1;
  424.  
  425.  
  426.   return(numOfFiles); 
  427. } /* Generate_PR_Report */ 
  428.  
  429.  

Need help ...
Expand|Select|Wrap|Line Numbers
  1.  
  2. if (strlen (inHouseScribeArray[indexOfComp]) == 0)
  3.        {
  4.          return ;
  5.        }
  6.      else 
  7.        {
  8.          Write_PR_DataFile(startDate, endDate, action, lot, operation, subOperation, 
  9.                     actualQty, eqpId, device, tech, toTime, employee, origSlotArray, 
  10.                     origCassArray, inHouseScribeArray, vendorScribeArray, finalSlotArray, 
  11.                     finalCassArray, parms); 
  12.  
having bug with this portion..exclude if inhouseScribeArray is return Null or no value but not sure wheather its correct..if return null exclude the value from passing the Write_PR_DataFile
Apr 5 '11 #1
5 1736
weaknessforcats
9,208 Recognized Expert Moderator Expert
Is inHouseScribeArray[indexOfComp] a string?

If not, you can't use strlen.
Apr 5 '11 #2
kirubagari
158 New Member
its an array..kindly help if it return null i should skip and go the write PR DATAFILE
Expand|Select|Wrap|Line Numbers
  1. vc2_VScriberId inHouseScribeArray[],  Array for Component Ids 
Apr 6 '11 #3
donbock
2,426 Recognized Expert Top Contributor
What does a null vc3_VScriberId (component id) look like?
Apr 6 '11 #4
kirubagari
158 New Member
Expand|Select|Wrap|Line Numbers
  1. ILP02038.1.1
  2. ILP02038.1.2
  3. ILP02038.1.3
  4. ILP02038.1.4
  5. ILP02038.1.5
  6. ILP02038.1.6
  7.  
The component id from .1 to .6
Apr 7 '11 #5
donbock
2,426 Recognized Expert Top Contributor
OK, but what does a null component id look like?
For that matter, exactly what is type vc3_VScriberId (string, pointer, structure, enumeration, etc)?
Apr 7 '11 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

7
5440
by: Jack | last post by:
Hi, I have the following piece of code:If RS.EOF or RS.BOF Then Session("Authenticated") = False Response.Write "Sorry, your userid or password did not match" Response.Write "<BR>"...
8
2590
by: Jack | last post by:
Hi, Here is my problem: I am logging in to a page, where the page retrieves a record from a database. The text boxes are used in the display formto let the users update the fields, if they...
2
1616
by: Jack | last post by:
Hi, I need to write a reponse.write statement of the following: <A HREF="default.htm">Click Here to try again</A> However, I am not clear about the syntax to handle this. I appreciate any help....
2
1873
by: John | last post by:
Hi, I am getting syntax errors in my JavaScript code, code snippet as follows (between my <script></script> tags: document.write(<a title="Nice to meet you" href="http://www.mydomain.com/"...
4
2931
by: Prowler | last post by:
In the application we are currently building, we need to write positioning code on-the-fly, based upon the screen offset of the element in the AS/400 application which drives the Web app. The 400,...
9
1298
by: Marc Miller | last post by:
I have an html img with a source of 'lbug.gif'. I want to be able to change out the source of the img by clicking a button. Here's my code: function swapPic() { if (document.Form1.imgBug.src...
1
2011
by: naughtybynature | last post by:
<html> <head> <title>Search Questions</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php $query = '';
1
1705
by: leopl | last post by:
Dear all I have written a write statement as follow:- write #1 me.textmessage the output came out to be as follow:- "(contents of the me.textmessage)"
2
11925
MatthewML
by: MatthewML | last post by:
I am attempting to insert a custom AfterUpdate Event Procedure into a text box on a form that I am designing in MS Access 2000. This text box contains the e-mail address of the referenced contact,...
3
4968
adelemb
by: adelemb | last post by:
Hi all, We have an Oracle database and my problem is with SQL, apologies if this is posted in the wrong forum. I have this SQL statement that all works fine: var newConn = new...
0
7242
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7353
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7508
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5662
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5063
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4737
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3212
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1572
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
781
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.