Array of strings in container won't pass to array of strings in LabVIEW cluster
I'm new to TestStand but am a CLD. I've taken a 3-day custom course that covered most of TestStand Core 1 and some of Core 2. I'm using TestStand 2013 and LabVIEW 2013.
I have a VI that needs an input of a cluster containing, in this order:
1D array of strings named Column_Labels
2D array of doubles named Results_Data
1D array of paths named Graphics_File_Paths
1D array of booleans named Pass_Fail
In TestStand I created a custom data type called Maxim_Results from the VI module tab in the sequence. When I reference a local (MINSYS_Reuslts) that is made from this Type I get the following error:
No corresponding subproperty in argument 'Locals.MINSYS_Results' of type 'Maxim_Results' for cluster element 'Maxim_Results.Column_Labels'
If, however, I reference each container element to each cluster element separatley there is no error:
Can anyone help me understand why this is happening?
Kelly Bersch
Certified LabVIEW Developer
Kudos are always welcome
Solved!
Go to Solution.
Hey Kelly,
I just set up the situation you described, and it worked properly for me. However, I did notice that in your example where you referenced each element individually, your Column_Labels element is actually called "Column_Lables". If this was also misspelled in the LabVIEW Cluster Passing setting for the custom type, it would cause the behavior you're seeing. Could this possibly be the case?
Daniel E.
TestStand Product Support Engineer
National Instruments
Similar Messages
-
I'm having trouble passing an array of integers to a string and vice versa i.e. the array has
element[0] =1
element[1] =0
element[2] =0 but it can hold up to 16 elements
what I want is for this array which holds a binary number represented by ints to be represented as the string "001". Im passing the method an array then I want it to loop the length of the array and store each element as a part of the string. I then want to add the number to another number put it back in an array and return it. If anyone has any help I would appreciate it.
Thanks.public class YourClass {
public static String arrayToString(int[] theArray) {
int lim = theArray.length;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < lim; i++) {
sb.append(String.valueOf(theArray));
return sb.toString();
public static int[] stringToArray(String theString) {
int lim = theString.length();
int[] theArray = new int[lim];
for (int i = 0; i < lim; i++) {
theArray[i] = Integer.parseInt(theString.substring(i, i+1));
return theArray;
public static void main(String[] args) {
int[] theArray = {1,0,0,1,1};
String theString = arrayToString(theArray);
System.out.println(theString);
int[] theArray2 = stringToArray(theString);
System.out.println(arrayToString(theArray2)); -
Using JNI to pass an array of Strings to C and back from C
I have some C code that I want to integrate with a new Java application and I need to be able to pass an array of strings to the C program and then the C program needs to be able to build an array of strings that is passed back to the Java program. I've got the first part working so that I can pass an array of strings to the C program and display them, but I can't figure out how to build the strings in C so that that when Java gets back control, it can display the strings tha were built in the C program.
Has anyone done this? Do you have some sample code?I have a program which is written in C. I can give you the whole project as it is in a zip file. You'll need VC to work with it. By the way, I am using Windows for development. Should you need it, I'll mail you the same. Give me your mail address.
-
Dear All.
Help Me...
English is not very good. Google translator is used.
How do I pass an array of strings?
Please refer to the VB program
===========================================
Private Sub m_btn_Click()
Dim nReturn As Long
Dim sPpid As String
Dim sMdln As String
Dim sSoftRev As String
Dim nCount As Long
Dim saCCodes(2) As String
Dim naPCount(2) As Long
Dim saPNames(10) As String
sPpid = "PPID001"
sMdln = "Mdln"
sSoftRev = "Rev001"
nCount = 2
saCCodes(0) = "1"
naPCount(0) = 5
saPNames(0) = "Param001"
saPNames(1) = "Param002"
saPNames(2) = "Param003"
saPNames(3) = "Param004"
saPNames(4) = "Param005"
saCCodes(1) = "2"
naPCount(1) = 5
saPNames(5) = "Param006"
saPNames(6) = "Param007"
saPNames(7) = "Param008"
saPNames(8) = "Param009"
saPNames(9) = "Param010"
nReturn = m_XGem.GEMReqSend(sPpid, sMdln, sSoftRev, nCount, saCCodes(0), naPCount(0), saPNames(0))
If (nReturn = 0) Then
Call Me.AddMessage("[EQ ==> XGEM] GEMReqSend successfully")
Else
Call Me.AddMessage("[EQ ==> XGEM] Fail to GEMReqSend (" & nReturn & ")")
End If
End Sub
=================================================
nCount, naPCount enough saCCodes, saPNames value must be sent.
How to handle an array of strings in LabView is impatient.
I want to VB program implemented in LabView.Have you actually tried to right click on the according node parameter and select Create->Constant or Create-Control??
And I don't see any string array in the parameter list. That are all simple strings and the VB code in your first post clearly shows that the call to the function only indexes the first element of those arrays to be passed to the function, not the entire array.
If the function really reads arrays despite being declared as only taking strings then it is using some weirdo VB trickery and there will be no way to replicate that in LabVIEW.
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
JSP Tag- Passing an array of string as an Attribute
Can I pass an array of String as an attribute to a JSP Tag? I read the specification but It does not say any thing about this.
Thanks in Advance.I thought JSP tags had to deal strictly with string values?
-
Passing an array of objects to a method.
Hi I'm building a program to act as a CD Collection Database. An array of objects represents the entries: Artist, Album and NUmber of Tracks. What I want to do is in the Menu, user to choose wether he or she wants to Add new CD to collection, print or quit, if he/she does then I call a method addNewEntry, to which i pass the array of objects called array, and I want the user to enter the entries each in turn, after that i want the program to return to the method Menu and ask if he or she wants to quit, print or add new cd. The idea is that the details entered already would be contained in the array of objects [0], so the next set of details go to [1] and then to [2] and so on. I have build up the code at this stage but i get an error while copmiling and im totally stuck. Im a beginner in Java.
Here is the code:
//by Andrei Souchinski
//Mini Project: CD Collection Database
//Designed for a grade F
//Defining new class of objects to represent CD database entries.
//A database entry consists of the artist name, the album name and number of tracks.
//A single entry can be entered by the user typing the details in and the entry can be printed out.
import javax.swing.*;
import java.util.*;
public class MiniProject
public static void main (String[] args)
System.out.println("\tCD Collection Database\n");
System.out.println("1. Add new Compact Disk to the Database");
System.out.println("2. Print out current database entries");
System.out.println("3. Quit\n");
theMenu();
public static void theMenu()
CompactDisk [] array = new CompactDisk[20];
String menu;
menu = JOptionPane.showInputDialog("What would you like to do?");
if (menu.equals ("3"))
JOptionPane.showMessageDialog(null, "Thank You For Using our Service! \nGoodbye!");
System.exit(0);
if (menu.equals ("2"))
if (menu.equals ("1"))
addNewEntry(array);
else
JOptionPane.showMessageDialog(null, "Please select your choice form the menu");
theMenu();
public int addNewEntry(int newcd[])
int i;
newcd[i] = (JOptionPane.showInputDialog("Please enter the name of the Artist"));
newcd[i] = (JOptionPane.showInputDialog("Please enter the name of the Album"));
newcd[i] = (Integer.parseInt (JOptionPane.showInputDialog("Please enter the number of tracks on this album")));
//A Compact Disk entry consists of three attributes: artist name, album and number of tracks
class CompactDisk
public String artistname; //Instance variables for artistname, albumname and numberoftracks.
public String albumname;
public int numberoftracks;
public CompactDisk(String n, String a, int t)
artistname = n; //Stores the 1st argument passed after "new Dates" into day
albumname = a; //Stores the 2nd argument passed after "new Dates" into month
numberoftracks = t; //Stores the 3rd argument passed after "new Dates" into year
//When called from the main method, prints the contents of
//artistname, albumname and numberoftracks on to the screen.
public void printCompactDisk ()
String output = "\n " + artistname + "\n " + albumname + "\n " + numberoftracks;
System.out.println(output);
}//by Andrei Souchinski
//Mini Project: CD Collection Database
//Designed for a grade F
//Defining new class of objects to represent CD database entries.
//A database entry consists of the artist name, the album name and number of tracks.
//A single entry can be entered by the user typing the details in and the entry can be printed out.
import javax.swing.*;
import java.util.*;
public class MiniProject
public static void main (String[] args)
System.out.println("\tCD Collection Database\n");
System.out.println("1. Add new Compact Disk to the Database");
System.out.println("2. Print out current database entries");
System.out.println("3. Quit\n");
theMenu();
public static void theMenu()
String menu;
menu = JOptionPane.showInputDialog("What would you like to do?");
if (menu.equals ("3"))
JOptionPane.showMessageDialog(null, "Thank You For Using our Service! \nGoodbye!");
System.exit(0);
if (menu.equals ("2"))
if (menu.equals ("1"))
addNewEntry();
else
JOptionPane.showMessageDialog(null, "Please select your choice form the menu");
theMenu();
public static void addNewEntry()
CompactDisk [] array = new CompactDisk[20];
int i = 0;
array.artistname = (JOptionPane.showInputDialog("Please enter the name of the Artist"));
array[i].albumname = (JOptionPane.showInputDialog("Please enter the name of the Album"));
array[i].numberoftracks = (Integer.parseInt (JOptionPane.showInputDialog("Please enter the number of tracks on this album")));
//A Compact Disk entry consists of three attributes: artist name, album and number of tracks
class CompactDisk
public String artistname; //Instance variables for artistname, albumname and numberoftracks.
public String albumname;
public int numberoftracks;
public CompactDisk(String n, String a, int t)
artistname = n; //Stores the 1st argument passed after "new Dates" into day
albumname = a; //Stores the 2nd argument passed after "new Dates" into month
numberoftracks = t; //Stores the 3rd argument passed after "new Dates" into year
//When called from the main method, prints the contents of
//artistname, albumname and numberoftracks on to the screen.
public void printCompactDisk ()
String output = "\n " + artistname + "\n " + albumname + "\n " + numberoftracks;
System.out.println(output);
I've edited the code, itcompiles, but gives an error when i ran it..:( -
Passing an array as parameter from java (java controls) to stored procedure
Hi,
I'm using java controls (BEA Weblogic Workshop 8.1) to call a stored procedure and send an array as a parameter to the stored procedure from java. The following code below throws an exception "Fail to convert to internal representation".
Java code
import com.bea.control.DatabaseControl.SQLParameter;
// Here i create the java array
int[] javaArray={12,13,14};
//The code below is used to create the oracle sql array for the procedure
SQLParameter[] params = new SQLParameter[1];
Object obj0=javaArray;
params[0] = new SQLParameter(obj0, oracle.jdbc.OracleTypes.ARRAY, SQLParameter.IN);
// the code below calls the testFunc method in OJDBCtrl.jcx file
String succ= dbControl.testFunc(params);
OJDBCtrl.jcx
* @jc:sql statement="call CMNT_TST_PROC(?))"
String testFunc(SQLParameter[] param);
The stored procedure used:
TYPE SL_tab IS TABLE OF number INDEX BY PLS_INTEGER;
Procedure cmnt_tst_proc (cmnt_tst sl_tab);
Procedure cmnt_tst_proc (cmnt_tst sl_tab) is
BEGIN
dbms_output.put_line('Hello');
END;
I am getting the following exception
Failure=java.sql.SQLException: Fail to convert to internal representation: [I@438af4 [ServiceException]>
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:861)
at oracle.sql.ARRAY.toARRAY(ARRAY.java:210)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7768)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7449)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7837)
at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4587)
at weblogic.jdbc.wrapper.PreparedStatement.setObject(PreparedStatement.java:244)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl._setParameter(DatabaseControlImpl.jcs:1886)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.getStatement_v2(DatabaseControlImpl.jcs:1732)
at com.bea.wlw.runtime.core.control.DatabaseControlImpl.invoke(DatabaseControlImpl.jcs:2591)
at com.bea.wlw.runtime.core.dispatcher.DispMethod.invoke(DispMethod.java:377)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:433)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:406)
at com.bea.wlw.runtime.core.container.Invocable.invoke(Invocable.java:249)
at com.bea.wlw.runtime.jcs.container.JcsContainer.invoke(JcsContainer.java:85)
at com.bea.wlw.runtime.core.bean.BaseContainerBean.invokeBase(BaseContainerBean.java:224)
at com.bea.wlw.runtime.core.bean.SLSBContainerBean.invoke(SLSBContainerBean.java:109)
at com.bea.wlwgen.StatelessContainer_ly05hg_ELOImpl.invoke(StatelessContainer_ly05hg_ELOImpl.java:153)
Can you please let me know, what i'm doing wrong and how i can pass an array to a procedure/function using java controls.
Any help will be highly appreciated.
Edited by: user12671762 on Feb 24, 2010 5:03 AM
Edited by: user9211663 on Feb 24, 2010 9:04 PMThanks Michael.
Here's the final code that i used, this might be helpful for those who face this problem
Java Code
// Following code gets the connection object
InitialContext ctx = new InitialContext();
dataSource = (DataSource)ctx.lookup("<DataSourceName>");
conn=dataSource.getConnection();
// Following code is used to create the array type from java
String query="CREATE OR REPLACE TYPE STR_ARRAY AS VARRAY(3) OF NUMBER";
dbControl.runTypeQuery(query);
// Following code is used to obtain the oracle sql array as SQLParameter
ArrayDescriptor desc = ArrayDescriptor.createDescriptor("<schemaName>.STR_ARRAY", conn);
Object[] elements = new Object[3];
elements[0] = new Integer(12);
elements[1] = new Integer(13);
elements[2] = new Integer(14);
oracle.sql.ARRAY newArray = new oracle.sql.ARRAY( desc, conn, elements);
SQLParameter[] params = new SQLParameter[1];
params[0] = new SQLParameter(newArray, oracle.jdbc.OracleTypes.ARRAY, SQLParameter.IN);
String succ= dbControl.testFunc(params); -
Problem passing multiple array lists to a single method
Hi, all:
I have written a generic averaging method that takes an array list full of doubles, adds them all up, divides by the size of the array list, and spits out a double variable. I want to pass it several array lists from another method, and I can't quite figure out how to do it. Here's the averager method:
public double averagerMethod (ArrayList <Double> arrayList) {
ArrayList <Double> x = new ArrayList <Double> (arrayList); //the array list of integers being fed into this method.
double total = 0;//the total of the integers in that array list.
for (int i = 0; i < x.size(); i++) {//for every element in the array list,
double addition = x.get(i);//get each element,
total = total + addition; //add it to the total,
double arrayListSize = x.size();//get the total number of elements in that array list,
double average = total/arrayListSize;//divide the sum of the elements by the number of elements,
return average;//return the average.
}And here's the method that sends several array lists to that method:
public boolean sameParameterSweep (ArrayList <Double> arrayList) {
sameParameterSweep = false;//automatically sets the boolean to false.
arrayList = new ArrayList <Double> (checker);//instantiate an array list that's the same as checker.
double same = arrayList.get(2); //gets the third value from the array list and casts it to double.
if (same == before) {//if the third value is the same as the previous row's third value,
processARowIntoArrayLists(checker);//send this row to the parseAParameterSweep method.
sameParameterSweep = true;//set the parameter sweep to true.
if (same != before) {//if the third value is NOT the same,
averagerMethod(totalTicks);//go average the values in the array lists that have been stored.
averagerMethod(totalNumGreens);
averagerMethod(totalNumMagentas);
sameParameterSweep = false;
before = same; //problematic!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
return sameParameterSweep;
}Obviously, the problem is that I'm not passing the array lists from this method to the averager method the right way. What am I doing wrong?Encephalopathic wrote:
There are several issues that I see, but the main one is that you are calculating average results but then just discarding them. You never assign the result to a variable.
In other words you're doing this:
averagerMethod(myArrayList); // this discards the resultinstead of this:
someDoubleVariable = averagerMethod(myArrayList); // this stores the resultAlso, do you wish to check for zero-sized array lists before calculating? And what would you return if the array list size were zero?So in solving that problem, I've come up with another one that I can't figure out, and I can't fix this problem until I fix that.
I have several thousand lines of data. They consist of parameter sweeps of given variables. What I'm trying to do is to store pieces of
data in array lists until the next parameter adjustment happens. When that parameter adjustment happens, I want to take the arraylists
I've been storing data in, do my averaging thing, and clear the arraylists for the next set of runs under a given parameter set.
Here's the issue: I'm having the devil of a time telling my application that a given parameter run is over. Imagine me doing stuff to several variables (number of solders, number of greens, number of magentas) and getting columns of output. My data will hold constant the number of soldiers, and for, say, ten runs at 100 soldiers, I'll get varying numbers of greens and magentas at the end of each of those ten runs. When I switch to 150 soldiers to generate data for ten more runs, and so forth, I need to average the number of greens and magentas at the end of the previous set of ten runs. My problem is that I can't figure out how to tell my app that a given parameter run is over.
I have it set up so that I take my data file of, say, ten thousand lines, and read each line into a scanner to do stuff with. I need to check a given line's third value, and compare it to the previous line's third value (that's the number of soldiers). If this line has a third value that is the same as the previous line's third value, send this line to the other methods that break it up and store it. If this line has a third value that is NOT the same as the previous line's third value, go calculate the averages, clear those array lists, and begin a new chunk of data by sending this line to the other methods that break it up and store it.
This is not as trivial a problem as it would seem at first: I can't figure out how to check the previous line's third value. I've written a lot of torturous code, but I just deleted it because I kept getting myself in deeper and deeper with added methods. How can I check the previous value of an array list that's NOT the one I'm fiddling with right now? Here's the method I use to create the array lists of lines of doubles:
public void parseMyFileLineByLine() {
totalNumGreens = new ArrayList <Double>();//the total number of greens for a given parameter sweep
totalNumMagentas = new ArrayList <Double>();//the total number of magentas for a given parameter sweep.
totalTicks = new ArrayList <Double>();//the total number of ticks it took to settle for a given parameter sweep.
for (int i = 8; i < rowStorer.size() - 2; i++) {//for each line,
checker = new ArrayList <Double>();//instantiates an array list to store each piece in that row.
String nextLine = rowStorer.get(i); //instantiate a string that contains all the information in that line.
try {
Scanner rowScanner = new Scanner (nextLine); //instantiates a scanner for the row under analysis.
rowScanner.useDelimiter(",\\s*");//that scanner can use whitespace or commas as the delimiter between information.
while (rowScanner.hasNext()) {//while there's still information in that scanner,
String piece = rowScanner.next(); //gets each piece of information from the row scanner.
double x = Double.valueOf(piece);//casts that stringed piece to a double.
checker.add(x);//adds those doubles to the array list checker.
catch (NoSuchElementException nsee) {
nsee.printStackTrace();
//System.out.println("checker contains: " + checker);
processARowIntoArrayLists(checker);//sends checker to the method that splits it up into its columns.
} -
Need help on passing an array to java routine from PL/SQL
I got a math routine in java and the idea is have an array of integer and the java routine does some computatoin and then pass the array back to pl/sql
and I google the web most code is calling pl/sql from java but not the other way round. any help will be really appreciated.
{code}
package tst;
import java.util.*;
public class plsql3 {
private final static int factor1 = 2;
public static void getFib2(int[] in, int[] out, int k){
for (int i=0;i<=k-1;i++){
out[i]= in[i] * factor1;
public static void main(String[] arg){
int[] in2 = {1,2,3,4,5};
int[] out2= {0,0,0,0,0};
getFib2(in2,out2,2);
for ( int j = 0 ; j <= out2.length-1;j++) {
System.out.println(out2[j]);
{code}
{code}
CREATE or replace PROCEDURE getfib5 (x IN OUT numlist, y IN OUT numlist, k in number)
AS LANGUAGE JAVA
NAME 'tst.plsql3.getFib2(int[], int[],int)';
set serveroutput on format wraped;
declare
in2 numlist := numlist(1,2,3,4,5,6);
out2 numlist := numlist(0,0,0,0,0,0);
begin
--in2(0) := 1;
--in2(1) := 2;
--in2(2) := 3 ;
for i in 1..in2.count
loop
dbms_output.put_line(in2(i));
end loop;
for i in 1..in2.count
loop
dbms_output.put_line(out2(i));
end loop;
getFib5(in2,out2,2);
for i in 1..in2.count
loop
dbms_output.put_line(in2(i));
end loop;
for i in 1..in2.count
loop
dbms_output.put_line(out2(i));
end loop;
--dbms_output.put_line(in2.count);
end;
{code}
{code}
javac -source 1.5 -target 1.5 tst/plsql3.java
{code}
Error report:
ORA-00932: inconsistent datatypes: expected a value at argument position 1 that is convertible to a Java int got an Oracle named TYPE (ADT, REF etc)
ORA-06512: at "TK1.GETFIB5", line 1
ORA-06512: at line 18
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:3696816290928
-
How do I pass an array of structs to a C function using the dll flexible prototype adapter?
What I want to do is pass into a C dll function a variably sized Array of structs of type TPS_Data. My Code compiles but when I run it in TestStand, I get an error -17001; Program Error. "Cannot allocate 0 size buffer Error in parameter 2, 'OpenFrdData'."
I've allocated the Array of structs, and all of the information is there before I call my function, so is it my prototype? Or am I asking too much of the DLL Flexible Prototype Adapter to pass an Array of Structs?
I can pass in a single struct of type TPS_Data and that works, but not an array.
Here's the relevent code:
typedef struct TPS_DATA
char Report_Number[256];
char System_Name[256];
char Open_Date[256];
char UUT_Part_Number[256];
char UUT_Serial_Number[256];
char UUT_Name[256];
char Open_Employee_Name[256];
char Open_Employee_Number[256];
char Close_Employee_Name[256];
char Close_Employee_Number[256];
char Close_Date[256];
} TPS_Data;
typedef struct TPS_DATA_ARRAY
TPS_Data DataRecord;
} TPS_DataArray;
long __declspec(dllexport) __stdcall OpenDialog (CAObjHandle Context, TPS_DataArray *TpsData[], const char *psFaultStr, char *sComments, const int nCount);OK,
I can pass the data to the DLL function, using the following types:
typedef struct StringArrayType
char string[10][256];
} StringArray;
typedef struct MultiStringArrayType
StringArray Record[10];
} MultiStringArray;
void __declspec(dllexport) __stdcall ATP_TestStructPassing(StringArray Strings)
return;
void __declspec(dllexport) __stdcall ATP_TestMultiStructPassing(MultiStringArray *Strings)
return;
But when the MultiStruct function Exits, TestStand reports an Error:
-17501 "Unexpected Operating System Error" Source: 'TSAPI'
There doesn't seem to be a way around this, and once the error occurs, I have to force quit TestStand. I've included the sequence file, and the dll code can be compiled from the fun
ctions shown above.
Any thoughts on how to get around this error would be greatly appreciated.
Attachments:
StructArrayPassing.seq 16 KB -
Can you pass an array URL variable
Hi,
Doing a form which I want to validate, then re-display with
error messages and the keyed data still in place should there be
errors, or go onto a second form if all ok.
I have tried to use <form
action="<?=$_SERVER['PHP_SELF']?>" but as the various
outcomes result in different screens I can't see how to do it
without having reams of duplicate code - I couldn't make it work
satisfactorily anyway.
So I decided to do it in two stages - form (user screen) + a
separate validation routine which passes validation results back if
there are errors by calling the first screen but with URL variables
to trigger process variations or go onto screen 2 if all ok.
But I'm struggling with this .. two questions:
i) Ideally I would like to use a session variable to pass
actual error messages back to screen one in the event of errors but
if I undertand things correctly (which is by no means certain)
$S_Session is already an associatve array so it wouldn't be so easy
to just add a variable number of messages to it and then know what
you are unpacking elsewhere ... do you know what I mean?
Perhaps if I give you my second question it may help
illustrate what I'm going on about in part 1
ii) The way I have tried to do it is to set it up as an array
($ERRORS) in the validation module and then added a text string
each time I hit a specific error. The hope was that I could then
send this back via the URL for further process but I'm getting
syntax problem so maybe this is not possible .... a brief example
Input Form php:
$ERRORS = array();
$ERRORS = $_GET['errors']
if (sizeof($ERRORS) > 0) {
echo "<p class=\"val_err_hdr\"> *** Validation
error(s) - please correct the entries and try again ***
</p>";
blah blah
Validation php:
$ERRORS=array();
if(!$loginFoundUser) {
$ERRORS[] = "This e-mail address entered has already been
registered on our database - if you have already registered you
can"; }
header("Location: input.form.php?errors=$ERRORS");
When I run this I get a syntax error 'unexpected T_IF' on the
'sizeof'' function condition.
Any help much appreciated..oO(patricktr)
> Doing a form which I want to validate, then re-display
with error messages and
>the keyed data still in place should there be errors, or
go onto a second form
>if all ok.
OK, quite common.
> I have tried to use <form
action="<?=$_SERVER['PHP_SELF']?>"
Avoid short open tags, they are unreliable. Use "<?php
print " instead
of just "<?=" to be safe and independent from the server
configuration.
>but as the
>various outcomes result in different screens I can't see
how to do it without
>having reams of duplicate code - I couldn't make it work
satisfactorily anyway.
What's a "screen" in this case? Just another part of the form
or a
completely different page?
> So I decided to do it in two stages - form (user screen)
+ a separate
>validation routine which passes validation results back
if there are errors by
>calling the first screen but with URL variables to
trigger process variations
>or go onto screen 2 if all ok.
Don't use URL parameters in such a form processing scenario.
Use a
session instead, that's what they are for. The length of URLs
is limited
and there are things you simply don't want to pass between
pages, but
keep on the server instead.
> But I'm struggling with this .. two questions:
>
> i) Ideally I would like to use a session variable to
pass actual error
>messages back to screen one in the event of errors but if
I undertand things
>correctly (which is by no means certain) $S_Session is
already an associatve
>array so it wouldn't be so easy to just add a variable
number of messages to it
>and then know what you are unpacking elsewhere ... do you
know what I mean?
The $_SESSION array itself is strictly associative, the used
indexes
must be strings or the serialization of the session data will
fail.
But if course you can always do things like this:
$_SESSION['errors'] = array();
$_SESSION['errors'][] = 'something went wrong';
> Perhaps if I give you my second question it may help
illustrate what I'm going
>on about in part 1
> ii) The way I have tried to do it is to set it up as an
array ($ERRORS) in the
>validation module and then added a text string each time
I hit a specific
>error. The hope was that I could then send this back via
the URL for further
>process but I'm getting syntax problem so maybe this is
not possible .... a
>brief example ...
As said above - use the session instead.
> Input Form php:
> $ERRORS = array();
> $ERRORS = $_GET['errors']
There's a ';' missing at the EOL (this causes the error you
mentioned
below).
Just a naming hint: Variables should not be named all
uppercase (except
for the predefined superglobal arrays). Such names should be
reserved
for constants. The most common style looks like this:
myNiceFunction()
$myNiceVariable
MY_NICE_CONSTANT
> if (sizeof($ERRORS) > 0) {
if (!empty($_SESSION['errors'])) {
> header("Location: input.form.php?errors=$ERRORS");
The Location URI must be absolute including scheme and
hostname. This is
required by the HTTP spec:
header("Location:
http://$_SERVER[HTTP_HOST
But I'm still not sure why you would need this redirect. The
entire
handling of a form (validation, processing) can be done on a
single
page. Only if the processing succeeds, you might want to
redirect to
some result page.
Micha -
Passing an array in a for loop to a procedure
I am trying to pass an array in a cursor for loop to a procedure which performs a table insert using the array's contents. Somehow I am missing something, or it is not possible. The compile error states: PLS-00306: wrong number or types in call to 'insert_address' I checked to be sure I am creating the arrays in both cases from similar data objects. Both address and work_address_table contain the same 4 columns with the same data types.
create or replace package work_address as
FUNCTION populate_address return boolean;
procedure insert_address(in_address IN work_address_table%ROWTYPE);
end work_address;
create or replace package body work_address as
function populate_address return boolean is
cursor c1 is
select 'H' as header,
street1 as street
city as city,
NULL as state
from address
where city = 'HANOVER';
TYPE addressT IS TABLE OF c1%ROWTYPE INDEX BY BINARY_INTEGER;
rec1 addressT;
BEGIN
OPEN c1;
FETCH c1 BULK COLLECT INTO rec1 LIMIT 500;
FOR i IN 1..rec1.count LOOP
rec1(i).state := 'US'
insert_address(rec1(i));
exit when c1%notfound;
END LOOP;
CLOSE c1;
return TRUE;
END populate_address;
PROCEDURE insert_address(in_address IN work_address_table%ROWTYPE) IS
BEGIN
INSERT INTO work_address_table
VALUES (in_address.header,
in_address.street,
in_address.city,
in_address.state);
COMMIT;
END insert_address;
END work address;
/Both address and work_address_table contain the same 4 columns with the same data types.Are you 100% sure about this?
SQL> declare
cursor c1
is
select 1 deptno, dummy dname, 'Loc' location from dual;
type addresst is table of c1%rowtype
index by binary_integer;
rec1 addresst;
procedure p (d dept%rowtype)
as
begin
dbms_output.put_line(d.dname);
end p;
begin
rec1 (1).dname := 'z';
p (rec1 (1));
end;
z
PL/SQL procedure successfully completed.but changing just the first column of the cursor:
SQL> declare
cursor c1
is
select 'xy' deptno, dummy dname, 'Loc' location from dual;
type addresst is table of c1%rowtype
index by binary_integer;
rec1 addresst;
procedure p (d dept%rowtype)
as
begin
dbms_output.put_line(d.dname);
end p;
begin
rec1 (1).dname := 'z';
p (rec1 (1));
end;
Error at line 3
ORA-06550: line 20, column 3:
PLS-00306: wrong number or types of arguments in call to 'P'
ORA-06550: line 20, column 3:
PL/SQL: Statement ignored -
How to pass an array which in the jsp to a javascript file
now i have 2 files: jsp and js(javascript)
i want pass an array which in the jsp to another file--> js file
how can i do it ???
can u give me some related links or some source codes as the references???
thxbcos ....my senior has resigned!!! so i take over his job !!!!!
depend on the talent and the project ....only that way to implement to whole project !!!!
but , i had settled it already ....
it is very simple
in the middle.jsp
Collection result = menuManager.getUserRoleMenu(webSessionUser.getGnuserId());
String menuname[]=new String[110];
int menucounter=0;
Iterator vi = result.iterator();
while(vi.hasNext())
HashMap hm=(HashMap)vi.next();
menuname[menucounter]=hm.toString();
menucounter++;
int i;
String tempstr="";
for(i=0;i<menuname.length;i++)
tempstr+=menuname[i]+",";
session.setAttribute("menuname",tempstr);
%>
<script language="javascript">
menu123("<%=tempstr %>");
</script>
in the body,js
function menu123(string123)
//doing
so ....through the script --menu123
i can get the string from jsp to the js!!!!!
is it very simple, but it spends my 2 days!!!
i just learn javascript ....about 1 month !!! -
Trouble while passing an array as a parameter to an JDBC Control
Hi everyone, recently I have upgraded my WLS Workshop 8.1 application to WLS 10gR3 using the workshop 8.1 application upgrade but after the upgrade to beehive controls I'm having troubles in a couple of methods that receive an array as a parameter. One of the methods is the following:
* @jc:sql array-max-length="all" max-rows="all"
* statement::
* select COUNT(*) FROM (
* SELECT la.lea_gkey,la.eme_gkey
* FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
* lead_assignees la,
* leads le,
* cities ct,
* (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
* WHERE e.gkey = la.eme_gkey
* AND la.lea_gkey = le.gkey
* AND le.city = ct.gkey(+)
* AND le.gkey = cn.lea_gkey(+)
* AND le.gkey = targets.lea_gkey(+)
* AND le.gkey = top5.lea_gkey(+)
* AND le.gkey = top100.lea_gkey(+)
* {sql: whereClause}
* UNION
* SELECT DISTINCT la.lea_gkey,la.eme_gkey
* FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
* lead_assignees la,
* shared_accounts sa,
* leads le,
* cities ct,
* employees asign,
* (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
* WHERE e.gkey = sa.eme_gkey
* AND asign.gkey = la.eme_gkey
* AND asign.active='X'
* AND sa.lea_gkey = le.gkey
* AND sa.lea_gkey = la.lea_gkey
* AND le.city = ct.gkey(+)
* AND le.gkey = cn.lea_gkey(+)
* AND le.gkey = targets.lea_gkey(+)
* AND le.gkey = top5.lea_gkey(+)
* AND le.gkey = top100.lea_gkey(+)
* {sql: assigneeClause}
* UNION
* SELECT DISTINCT la.lea_gkey,la.eme_gkey
* FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e,
* lead_assignees la,
* shared_accounts sa,
* leads le,
* cities ct,
* (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5,
* (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100
* WHERE e.gkey = la.eme_gkey
* AND sa.lea_gkey = le.gkey
* AND sa.lea_gkey = la.lea_gkey
* AND le.city = ct.gkey(+)
* AND le.gkey = cn.lea_gkey(+)
* AND le.gkey = targets.lea_gkey(+)
* AND le.gkey = top5.lea_gkey(+)
* AND le.gkey = top100.lea_gkey(+)
* {sql: sharedClause})::
@JdbcControl.SQL(arrayMaxLength = 0,
maxRows = JdbcControl.MAXROWS_ALL,
statement = "select COUNT(*) FROM ( SELECT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND la.lea_gkey = le.gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: whereClause} UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, shared_accounts sa, leads le, cities ct, employees asign, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = sa.eme_gkey AND asign.gkey = la.eme_gkey AND asign.active='X' AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: assigneeClause} UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE {sql:fn in(gkey,{emeGkeyArray})}) e, lead_assignees la, shared_accounts sa, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) {sql: sharedClause})")
public Long getProspectsCount(String[] emeGkeyArray, String whereClause, String assigneeClause, String sharedClause) throws SQLException;
The execution of the method is the following:
pendingApprovals = leadsListingDB.getProspectsCount(employeeHierarchyArray, pendingApprovalsClause, pendingApprovalsClause, pendingApprovalsClause);
When the method is executed all the String parameters (whereClause, assigneeClause & sharedClause) are replaced well except the array parameter (emeGkeyArray) so the execution throws the following exception because the array is not replaced:
<Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <Enter: onAquire()>
<Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <Enter: invoke()>
<Jan 20, 2010 1:01:26 PM CST> <Info> <org.apache.beehive.controls.system.jdbc.JdbcControlImpl> <BEA-000000> <PreparedStatement: select COUNT(*) FROM ( SELECT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, n
me, role FROM employees WHERE (gkey IN ())) e, lead_assignees la, leads le, cities ct, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead
tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND la.l
a_gkey = le.gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WE
KLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005) UNION SELECT DISTINCT la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE (gkey I
())) e, lead_assignees la, shared_accounts sa, leads le, cities ct, employees asign, (select lea_gkey,name,email,phone,title from contacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lea
tags WHERE tag = 'TARGET') targets, (SELECT leagkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP100') top100 WHERE e.gkey = sa.eme_gkey AND asi
n.gkey = la.eme_gkey AND asign.active='X' AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+) AND le.gkey
= top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WEEKLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005) UNION SELECT DISTINCT
la.lea_gkey,la.eme_gkey FROM (SELECT gkey, name, role FROM employees WHERE (gkey IN ())) e, lead_assignees la, shared_accounts sa, leads le, cities ct, (select lea_gkey,name,email,phone,title from c
ntacts where principal = 'X') cn, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TARGET') targets, (SELECT lea_gkey, tag FROM lead_tags WHERE tag = 'TOP5') top5, (SELECT lea_gkey, tag FROM lead_tags
WHERE tag = 'TOP100') top100 WHERE e.gkey = la.eme_gkey AND sa.lea_gkey = le.gkey AND sa.lea_gkey = la.lea_gkey AND le.city = ct.gkey(+) AND le.gkey = cn.lea_gkey(+) AND le.gkey = targets.lea_gkey(+
AND le.gkey = top5.lea_gkey(+) AND le.gkey = top100.lea_gkey(+) AND LA.ACTIVE = 'X' AND LE.WEEKLY_POTENTIAL > 0 AND (LE.APPROVED IS NULL OR LE.APPROVED != 'Y') AND LA.SALE_STAGE IN(3034,3005)) Params:
{}>
<Jan 20, 2010 1:01:26 PM CST> <Debug> <org.apache.beehive.netui.pageflow.FlowController> <BEA-000000> <Invoking exception handler method handleException(java.lang.Exception, ...)>
[LeadsMailer] Unhandled exception caught in Global.app:
java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
So the big question is if that behavior is due to a bug of I'm doing something wrong. Do someone can give me an advice about this problem because the array parameter has no problems in workshop 8.1?
Thanks in advance!Greetings
I may not have an answer for you, but i am in the same boat! I am trying to pass an array to store in the database. I have 2 out of 8 columns that need to be stored as arrays. Everything saves EXEPT for the 2 arrays in question. I am using BEEHIVE with my web app. The strange thing is that i do not receive any syntax errors or runtime codes. I am still searching for an answer. If i find anything out, i will let you know.
John Miller
[email protected] -
Pass an array of a user defined class to a stored procedure in java
Hi All,
I am trying to pass an array of a user defined class as an input parameter to a stored procedure. So far i have done the following:
Step 1: created an object type.
CREATE TYPE department_type AS OBJECT (
DNO NUMBER (10),
NAME VARCHAR2 (50),
LOCATION VARCHAR2 (50)
Step 2: created a varray of the above type.
CREATE TYPE dept_array1 AS TABLE OF department_type;
Step 3:Created a package to insert the records.
CREATE OR REPLACE PACKAGE objecttype
AS
PROCEDURE insert_object (d dept_array);
END objecttype;
CREATE OR REPLACE PACKAGE BODY objecttype
AS
PROCEDURE insert_object (d dept_array)
AS
BEGIN
FOR i IN d.FIRST .. d.LAST
LOOP
INSERT INTO department
VALUES (d (i).dno,d (i).name,d (i).location);
END LOOP;
END insert_object;
END objecttype;
Step 4:Created a java class to map the columns of the object type.
public class Department
private double DNO;
private String Name;
private String Loation;
public void setDNO(double DNO)
this.DNO = DNO;
public double getDNO()
return DNO;
public void setName(String Name)
this.Name = Name;
public String getName()
return Name;
public void setLoation(String Loation)
this.Loation = Loation;
public String getLoation()
return Loation;
Step 5: created a method to call the stored procedure.
public static void main(String arg[]){
try{
Department d1 = new Department();
d1.setDNO(1); d1.setName("Accounts"); d1.setLoation("LHR");
Department d2 = new Department();
d2.setDNO(2); d2.setName("HR"); d2.setLoation("ISB");
Department[] deptArray = {d1,d2};
OracleCallableStatement callStatement = null;
DBConnection dbConnection= DBConnection.getInstance();
Connection cn = dbConnection.getDBConnection(false); //using a framework to get connections
ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("DEPT_ARRAY", cn);
ARRAY deptArrayObject = new ARRAY(arrayDept, cn, deptArray); //I get an SQLException here
callStatement = (OracleCallableStatement)cn.prepareCall("{call objecttype.insert_object(?)}");
((OracleCallableStatement)callStatement).setArray(1, deptArrayObject);
callStatement.executeUpdate();
cn.commit();
catch(Exception e){
System.out.println(e.toString());
I get the following exception:
java.sql.SQLException: Fail to convert to internal representation
My question is can I pass an array to a stored procedure like this and if so please help me reslove the exception.
Thank you in advance.OK I am back again and seems like talking to myself. Anyways i had a talk with one of the java developers in my team and he said that making an array of structs is not much use to them as they already have a java bean/VO class defined and they want to send an array of its objects to the database not structs so I made the following changes to their java class. (Again hoping some one will find this useful).
Setp1: I implemented the SQLData interface on the department VO class.
import java.sql.SQLData;
import java.sql.SQLOutput;
import java.sql.SQLInput;
import java.sql.SQLException;
public class Department implements SQLData
private double DNO;
private String Name;
private String Location;
public void setDNO(double DNO)
this.DNO = DNO;
public double getDNO()
return DNO;
public void setName(String Name)
this.Name = Name;
public String getName()
return Name;
public void setLocation(String Location)
this.Location = Location;
public String getLoation()
return Location;
public void readSQL(SQLInput stream, String typeName)throws SQLException
public void writeSQL(SQLOutput stream)throws SQLException
stream.writeDouble(this.DNO);
stream.writeString(this.Name);
stream.writeString(this.Location);
public String getSQLTypeName() throws SQLException
return "DOCCOMPLY.DEPARTMENT_TYPE";
Step 2: I made the following changes to the main method.
public static void main(String arg[]){
try{
Department d1 = new Department();
d1.setDNO(1);
d1.setName("CPM");
d1.setLocation("LHR");
Department d2 = new Department();
d2.setDNO(2);
d2.setName("Admin");
d2.setLocation("ISB");
Department[] deptArray = {d1,d2};
OracleCallableStatement callStatement = null;
DBConnection dbConnection= DBConnection.getInstance();
Connection cn = dbConnection.getDBConnection(false);
ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("DEPT_ARRAY", cn);
ARRAY deptArrayObject = new ARRAY(arrayDept, cn, deptArray);
callStatement = (OracleCallableStatement)cn.prepareCall("{call objecttype.insert_array_object(?)}");
((OracleCallableStatement)callStatement).setArray(1, deptArrayObject);
callStatement.executeUpdate();
cn.commit();
catch(Exception e){
System.out.println(e.toString());
and it started working no more SQLException. (The changes to the department class were done manfully but they tell me JPublisher would have been better).
Regards,
Shiraz
Maybe you are looking for
-
Problem when Reading Multiple values from Arduino to Vb
Hi Mates, I am getting 4 values from Arduino using Serial.Println statement 4 times. How do I need to receive these values to 4 different variables in VB without using any buttons. We have to serial data received as per my knowledge. I've written the
-
At home the address bar etc is grey but my settings are for rose. At work using the colour settings the address bar is rose. I have a different setup with icons on the two screens. At home I have the refresh icon between the search bar and address ba
-
No outgoing e-mail with Outlook
I have installed BT Home Hub 3 and wireless works fine. I wish to use Outlook 2007 for emails and have set up as advised by BT. The settings in Outlook are: Incoming mail server: mail.btinternet.com Outgoing mail server (SMTP): mail.btinternet.com Ou
-
Could you please let me know the prerequisites for Installing MS Dynamics CRM 2013 latest Rollup During early stage of CRM development environment setup, While Installing Rollup, I had corrupted the MS CRM Environment L Please let me know the ste
-
BCA 6.5 error message: Label id=215064
Hello, We are using BCA 6.5 and recently we kept receiving error message "Label id=215064". I couldn't find an answer. Could any one can give me some advises ? Thank You Carole