UIX get EO column names into a messageChoice
I'm working on building a search function into my form which will allow the user to enter an arbitrary search string into a text box and then provides a list of columns in the table to be searched on. Is there any way to populate that list box (messageChoice) with the column names from the database dynamically? And if so, could I have the value set to those and the label set to the 'human readable' label text used on my forms?
Nick
Try looking at the section "Apply a filter to the Lov Window" here:
http://otn.oracle.com/products/jdev/howtos/10g/adf_uix_lov_ht/index.html
Similar Messages
-
How to get the column names of the table into the Dashboard prompt
how to get the column names of the table into the Dashboard prompt
Thanks & Regards
Kishore PHey john,
My requirement is as follows
I have created a Rank for Total sales by Region wise i.e RANK(SUM(Dollars By Region)) in a pivot table.
My pivot table looks like this
COLUMN SELECTOR: TOTAL US , REGION , DISTRICT , MARKET
---------------------------------------------------- JAN 2009 FEB 2009 MAR 2009
RANK REGION DOLLARS DOLLARS DOLLARS DOLLARS
1 CENTRAL 10 20 30 40
2 SOUTHERN 10 30 30 70
3 EASTERN 20 20 20 60
4 WESTERN 10 20 30 40
When i select the District in column selector
Report has to display rank based on Total Sales by District. i.e
------------------------------------------------- JAN 2009 FEB 2009 MAR 2009
RANK DISTRICT DOLLARS DOLLARS DOLLARS DOLLARS
for this i need to change the fx of rank i.e RANK(SUM(Dollars By Region)) to RANK(SUM(Dollars By District)) and fx of Region i.e Markets.Region to Markets.District dynamically.
so , i need to capture column name of the value selected from the column selector and dynamically i need to update the fx 0f RANK & fx of region.
do you have any solution for this?
http://rapidshare.com/files/402337112/Presentation1.jpg.html
Thanks & Regards
Edited by: Kishore P on Jun 24, 2010 7:24 PM
Edited by: Kishore P on Jun 24, 2010 7:28 PM -
Get the column names of a query (in own plugin)
Hi,
I'm developing my first plugin. It is a region plugin where the plugin-user passes a sql query as the source that the plugin will turn into a formated report.
I found how to retreive the query result by using APEX_PLUGIN_UTIL.GET_DATA functions. Since it is an array, it is simple to cycle through the data rows. But how can i figure out
1) how many columns the query returns
2) whats the name of the columns is?
Thanks a lot in advance for any hint...
Cheers, HansHi Hans,
the package APEX_PLUGIN_UTIL provides everything you need. No need to do your own DBMS_SQL handling!
Have a look at the API documentation and the example of GET_DATA at http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_plugin_util.htm#BABFBIJD
The t_column_value_list record type is a two dimensional array defined as
type t_column_value_list is table of wwv_flow_global.vc_arr2 index by pls_integer;The first array contains an entry for each column.
l_column_value_list.COUNTcan be used to get the number of columns.
l_column_value_list(1).COUNTcan be used to get the number of rows. An example to iterate over all columns and rows:
for l_column in 1 .. l_column_value_list.count loop
for l_row in 1 .. l_column_value_list(l_column).count loop
sys.htp.p('column#=' || l_column || ' row=' || l_row || ' value: ' || l_column_value_list(l_column)(l_row));
end loop;
end loop;If you need the name of the columns and maybe the original data type and not everything converted to VARCHAR2 you have to use the more sophisticated GET_DATA2. See http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21676/apex_plugin_util.htm#BABFJHAI
This function returns the record type t_column_value_list2 which is defined as
type t_value is record (
varchar2_value varchar2(32767),
number_value number,
date_value date,
timestamp_value timestamp,
timestamp_tz_value timestamp with time zone,
timestamp_ltz_value timestamp with local time zone,
interval_y2m_value interval year to month,
interval_d2s_value interval day to second,
blob_value blob,
bfile_value bfile,
clob_value clob );
type t_value_list is table of t_value index by pls_integer;
type t_column_values is record (
name varchar2(32767),
data_type varchar2(20), /* use c_data_type_* constants to compare */
value_list t_value_list );
type t_column_value_list2 is table of t_column_values index by pls_integer;Again, it's some kind of two dimensional array. The first dimensions are the columns. But this time you also get some details of the parsed column. For example:
for l_column in 1 .. l_column_value_list2.COUNT loop
sys.htp.p('Column Name: ' || l_column_value_list2(l_column).name || ' Data Type: ' || l_column_value_list2(l_column).data_type );
end loop;Will return you all the columns of the SQL statement. Using "name" and "data_type" you can get the column name and the data type. To access the values you can use
for l_column in 1 .. l_column_value_list2.COUNT loop
sys.htp.p('Column Name: ' || l_column_value_list2(l_column).name || ' Data Type: ' || l_column_value_list2(l_column).data_type );
for l_rows in 1 .. l_column_value_list2(l_column).value_list.COUNT loop
sys.htp.p(
'row=' || l_row || ' value: ' ||
apex_plugin_util.get_value_as_varchar2 (
p_data_type => l_column_value_list2(l_column).data_type,
p_value => l_column_value_list2(l_column).value_list(l_row) );
end loop;
end loop;I used apex_plugin_util.get_value_as_varchar2 to always get a VARCHAR2, independent of the actual data type of the column. If you need the original data type, use "number_value", ... of the t_value record type.
Hope that gives you a direction
Patrick
Regards
Patrick
My Blog: http://www.inside-oracle-apex.com
APEX Plug-Ins: http://apex.oracle.com/plugins
Twitter: http://www.twitter.com/patrickwolf -
Store Column-Name into variable
Hello from germany
I got stuck with following:
How is it possible to store the name of a column into a variable or is it possible to put an index "on" a column?
The reason for this: I need to fill and check a complete column!
Thanks for Your help!
Best regards
MarlonThose sure are unrelated questions. Lets say we have a table like this:
SQL> CREATE TABLE t (
2 a number,
3 b varchar2(8),
4 c date );
Table created.You can get a column name like this:
SQL> set serveroutput on
SQL> DECLARE
2 second_col VARCHAR2 (30);
3 BEGIN
4 SELECT column_name
5 INTO second_col
6 FROM user_tab_columns
7 WHERE table_name = 'T'
8 AND column_id = 2;
9 DBMS_OUTPUT.PUT_line(second_col);
10 END;
11 /
B
PL/SQL procedure successfully completed.
SQL> You can put an index on a column like this:
SQL> CREATE INDEX t_n1 ON t(b);
Index created.And you can add data to the table like this:
SQL> insert into t(a, b) values (4, 'asdf');
1 row created.
SQL> select * from t;
A B C
4 asdf
SQL> -
Help to get the column names from ResultSet.
Hi,
I hava a ResultSet and i want the column names into a String Array.
i wrote the code to get the column names as below,
String s = "select Dept_No,Dept_Name from tb_dept";
rs = statement.executeQuery(s); // ResultSet defined before
String[] columnNames1 = null;
ResultSetMetaData meta = rs.getMetaData ( ) ;
for (int x = 1; x <= meta.getColumnCount(); x++)
columnNames1[x] = meta.getColumnName(x).toString();
but i'm getting NullPointer exception. However if i print the column names means its printing the first column name and giving NullPointer Exception at the next step.
Can anyone help me...
Thanks,
Rashmybut rs.getRow() ll give the current roe no right?
but we can move to the last row using last() method
and get the row count right?
thank you yaar.
private int getRowCount(ResultSet resultSet){
int total = 0;
try{
resultSet.afterLast();
if(resultSet.previous()) total = resultSet.getRow();
resultSet.beforeFirst();
}catch(SQLException sqle){
javax.swing.JOptionPane.showMessageDialog(null,sqle);
return total;
} -
Cann't OCI get correct column name???
My program is:
rc = get_error_message(OCIStmtExecute(dbCon.svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
(CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DESCRIBE_ONLY));
if(rc!=OCI_SUCCESS)
return ERROR;
for ( i = 0; i < nresultcols; i++ ) {
if(get_error_message(OCIParamGet(stmthp, OCI_HTYPE_STMT, errhp, (void**)&colhd, i+1)))
return ERROR;
if(get_error_message(OCIAttrGet(colhd, OCI_DTYPE_PARAM,
colname, 0, OCI_ATTR_NAME, errhp)))
return ERROR;
printf("%d colname:%s\n",i+1,colname);
But cann't get correct column name.Is someone know how to do? Thanks.
nullOCI does not guarantee that the text attributes are always null terminated. You need to pass in a length or size parameter to the OCIAttrGet call whenever you try to get char data. The correct way to use the interface would be:
text *colname;
ub4 len;
OCIAttrGet (colhd, OCI_DTYPE_PARAM, &colname, &len, OCI_ATTR_NAME, errhp);
Remember to pass in a (dvoid **) attribute instead of (dvoid *) you seem to be passing.
Also,you need to copy the data returned into
your memory since OCI can choose to free this
memory in a subsequent call. -
Get the file name into a Odi variable
Hi,
I need to get the file name into odi variable like ..A/ETC/file.txt
For eg.the filename file.txt should get store in a variable.
Then i want to compare the file name stored in the variable with some other value.
Please suggest.
Thanks.in package,
declare the variable, then evaluate it with another variable, generally using # syntax
if the variable is date type, suggest to use : syntax, because # will treat the variable value as text value
in loadplan
use case when syntax, -
Reading csv file how to get the Column name
Hi,
I am trying to read a csv file and then save the data to Oracle.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c = DriverManager.getConnection("jdbc:odbc:;Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=.;Extensions=csv,txn");
Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery("select * from filename.csv");
while(rs.next())
System.out.println(rs.getString("Num"));
My csv file looks like this:
"CHAM-23","COMPANY NAME","Test","12",20031213,15,16
Number,Environ,Envel,Date,Time
"1","2",3,"4",5
"6","7",8,"9",9
Now is there anyway using the above code I start processing the file from the second row that holds the names of the columns and skip the first row. And also can I get the name of the column using ResultSet something like:
if columnName.equals("Number")
Because I may have a csv file that could have more columns:
"CHAM-24","COMPANY NAME","Test","12",20031213,16,76
Number,Environ,Envel,Date,Time,Total,Count
"1","2","3","4","5",3,9
"6","7","8","9",9",,2
So I want to get the column name and then based on that column I do some other processing.
Once I read the value of each row I want to save the data to an Oracle Table. How do I connect to Oracle from my Application. As the database is on the server. Any help is really appreciated. ThanksThe only thing I could think of (and this is a cluj) would be to attempt to parse the first element of each row as a number. If it fails, you do not have a column name row. You are counting on the fact that you will never have a column name that is a number in the first position.
However, I agree that not always placing the headers in the same location is asking for trouble. If you have control over the file, format it how you want. If someone else has control over the file, find out why they are doing it that way. Maybe there is a "magic" number in the first row telling you where to jump.
Also, I would not use ODBC to simply parse a CSV file. If the file is formatted identically to Microsoft's format (headers in first row, all subsequent rows have same number of columns), then it's fine to take a shortcut and not write your own parser. But if the file is not adhering to that format, don't both using the M$ ODBC driver.
- Saish
"My karma ran over your dogma." - Anon -
Getting the column names dynamically
hi gurus,
i have list item populated with many table names from a schema.
i have grid in oracle forms 10g and i want to fill the grid with the data that should come at least four/more columns.
i want to fire the list change trigger when each time any one table name is selected/changed.
how can i get the column names dynamically
please give me the step by step process
for filling the grid..hi ,
by getting column names dynamically i am creating a record group
using this below query
SELECT COLUMN_NAME, DATA_TYPE FROM USER_TAB_COLUMNS WHERE TABLE_NAME = <table_name>
but when timestamp datatype is there then it is showing error cannot create group groupname
but the record group is running successful on varchar2,number,date dayatypes
if any alternative is there i mean to say without using record group then tell me or where is the problem -
How to get the tag name into javascript
Hi,
Is there any way to get the tag name into java script when user clicks on.
For eg: if i use netui:anchor tag, how can I pass the tag id to the javascript when user clicks on the link using onClick attribute. This tag id needs to be evaluated at run time.
Ex code is given below.
function fun1(){
// how to get the tag name;
<%
String st="hai";
%>
<netui:anchor action="x" onClick="fun1()" tagId="<%=st%>>
I want to get this tagId (st) to the java script function fun1() when user clicks on this link. How can I do that. can you please help in this issue.
Thanks,
Satish.Hi,
You can set the java variable as a js variable at run time:
<script>
var anchorName = <%=getNetuiTagName%>;
function fun1()
var anchorID = getNetuiTagName(anchorName);
alert(anchorID);// this will show the rendered ID for the anchor specified
</script>
this works because the jsp variable will be rendered before the js.
Thanks,
Steve -
WRAP JTable Column Name into 2 lines
I have a JTable with a long column Name. Can I wrap the Column Name into multiple (2) lines.
baskaraninfo wrote:> set the following to a table column,<html><body>Employee<br>Name</body></html>>The break tag got lost cos you didnt use the code tags
<html><body>Employee<br>Name</body></html> -
Get column names into a VB program, for an SQL query that joins tables
use [mydatabase]
select * from InvNum inum
left join _btblInvoiceLines ilin
on inum.autoindex = ilin.iinvoiceid
left join stkitem s
on ilin.istockcodeid = s.stocklink where InvNumber = 'IVQ0834' or InvNumber = 'IVQ0835'
I need to get out the column names in a VB program in the same order they would appear in the SQL query above...
I want to use something like:
select column_name from information_schema.columns where TABLE_NAME = ....
except there are several tables involved above so I dont know the format!If you execute the query in your program using the SqlDataReader.ExecuteReader method, the column names will be available via the GetName method of the returned reader. But note that your query may return multiple columns with the same name.
Dim reader As SqlDataReader = command.ExecuteReader()
For x = 0 To reader.FieldCount - 1
Console.WriteLine(reader.GetName(x))
Next x
Dan Guzman, SQL Server MVP, http://www.dbdelta.com -
Need help on getting the column names of Tabletype
I have a table Mapping with the following values: This Mapping table contains the table names (in Tabname) and the column names(colname) of various tables and values(ValuesTobeFilled) for the columns.
I have to insert into the tables present in the Tabname field with the values present in the ValuesTobeFilled in the columns present in the Colname field.
Note: The Mapping table need not contain all the columns of the base table. The columns that are not present can be filled with null. And this mapping table is not fixed i.e. rows can be inserted/deleted frequently.
Sample values in mapping table:
Tabname Colname ValuesTobeFilled
sample_items Eno Corresponding Expression to get the values from XML input
sample_items Ename Corresponding Expression to get the values from XML input
XXX YYY Corresponding Expression to get the values from XML input
Before filling in the actual tables, I have to store the entire data temporarily and I have used a tabletype declared as follows:
TYPE T_sample_items IS TABLE OF sample_items%ROWTYPE INDEX BY BINARY_INTEGER;
l_sample_items T_sample_items;
Where the table sample_items have the following columns:
• Eno
• Ename
• Eaddress
• Eemail
So, the tabletype should be filled as:
Eno Ename Eaddress EEmail
1 XXX - -
I have declared a cursor to select the values from mapping table and I need to fill in the ValuesTobeFilled values to the corresponding table.
CURSOR c_xpath (c_tname mapping.TABNAME%type)
IS
select * from mapping where tabname = c_tname;
CURSOR c_tables
IS
SELECT DISTINCT TABNAME FROM mapping;
FOR crsr IN c_tables
LOOP
p_tname := CRSR.TABNAME;
FOR csr IN c_xpath(p_tname)
LOOP
IF l_xml_doc.EXISTSNODE(CSR.XPATH_EXP) = 1
THEN
l_node_value := l_xml_doc.extract(CSR.XPATH_EXP).getStringVal(); -- This is the value to be stored in the corresponding column
ELSE
l_node_value := NULL;
END IF;
IF CSR.COLUMN_NAME = ‘eno’
THEN
l_sample_items(1).eno := l_node_value;
ELSIF CSR.COLUMN_NAME = ‘ename’
THEN
l_sample_items(1).name := l_node_value;
END IF;
END LOOP;
END LOOP;
And I need to eliminate hard coding while comparing the column names (in the following piece of code) as the Mapping table values are subject to insertion/deletion:
IF CSR.COLUMN_NAME = ‘eno’
THEN
l_sample_items(1).eno := l_node_value;
ELSIF CSR.COLUMN_NAME = ‘ename’
THEN
l_sample_items(1).ename := l_node_value;
END IF;
I need to insert the values directly into the tabletype without this hardcoding. Please suggest me ways to compare the mapping table values with the field (column) names of the tabletype. If it is not possible using tabletype, please suggest any other ways of fixing the problem.
Many thanks,
GopiI take it this isn't going to be a serious production system at the end of the day?
Storing metadata in tables for extraction and insertion of data is just wrong in so many ways. It smells heavily of Entity Attribute Value modelling, which is the most wrong way to use a relational database and is known to have major performance implications and be liable to bugs and issues. The idea that EAV modelling allows for 'generic' databases where new data items can be added flexibly later on without having to change code is usually justified with an excuse of "it means we don't have to update all our tables when we want a new column" which is easily countered with "if you're adding a single column a good relational design wouldn't require you to add it to more than one table anyway in most cases".
Just what exactly are you trying to do and why? There has to be a better way. -
How can i get the column names in CSV file.
Hi,
After execution of infospoke i can not see the column names in that file.How can i get column of respective infoprovider?
Thanks,
Gananadha LenkaHello Gana,
Actually while exporting the data using Info Spoke, we have the possibility to modify the data that we send. This is possible using transformations.
In your Info Spoke, you have a tab called Transformations.
Here you need to create an implementation and then use BADi to populate data.
Check if you can write a start routine sort of thing here and insert a new record into the internal table by hardcoding with your field headings.
Let me know if you dont know how to create transformations.
Kris... -
Just new to this and unable to find answers
My solution
Public Function GetTableColumnNames() As Boolean
Form1.ListBox1.Items.Clear()
_MDFFileName = String.Format("{0}.mdf", _DatabaseName)
_sqlConnectionString = String.Format("Data Source=(LocalDB)\v11.0;AttachDBFileName={1};Initial Catalog={0};Integrated Security=True;", _DatabaseName, Path.Combine(_DatabaseDirectory, _MDFFileName))
Dim cn As New SqlConnection(_sqlConnectionString)
'put the table name in brackets in case it has spaces in it
Dim SQLString As String = "SELECT * FROM [" & _TableName & "]"
Try
cn.Open()
Dim cmd As New SqlCommand(SQLString, cn)
Dim rdr As SqlDataReader =
cmd.ExecuteReader(CommandBehavior.KeyInfo)
Dim tbl As DataTable = rdr.GetSchemaTable
'This shows all of the information you can access about each column.
For Each col As DataColumn In tbl.Columns
Form1.ListBox1.Items.Add(col.ColumnName)
Debug.Print("col name = " & col.ColumnName & ", type = " & col.DataType.ToString)
Next
'Get each column.
For Each row As DataRow In tbl.Rows
Form1.ListBox1.Items.Add(row("ColumnName"))
Next
rdr.Close()
Catch
MessageBox.Show("Error opening the connection to the database.")
Finally
cn.Close()
End Try
Return _Success
End Function
Maybe you are looking for
-
I configured the "Default" VPN (L2TP) configuration, but now I can't get VPN on demand to work. I entered livepage.apple.com into the VPN on demand list, but no configurations appear when I click on "Pop Up" and when I open Safari the VPN doesn't con
-
Moving Average Price Determination for new stock in project
Hi Gurus, We have following scenario in our project. One plant is shut down ( say plant A ) and a new plant (plant B) will come up to replace the older one. So we are transferring the materials present in A to B. We have extended the materials to B
-
Just upgraded to OS 10.9.3 from OS 10.6.8. Have 21.5" iMac Mid 2011; Processor 2.5 GHz Intel Core i5; Memory 12 GB 1333 MHz DDR3; Storage capacity 499.25 GB; available 379.71 GB. In the old OS 10.6.8 scans went to "Pictures" in Library. I can't
-
InDesign6 doesn't recognize plugins after a day of use.
I am on OS X 7.5. I have reloaded InDesign6 several times. After about a day of use, it no longer recognizes some plugin's. Every time I open it, more are added to the list. Can anyone help? The Application Managre keeps going bad too where I have to
-
How to map product barcode with SAP
HIIIIIIIIIIII We are going to implement SD module for stores. my client requirement is once when ever customer bring products from store to cash counter the scaner will check the bard code based on that we need to be process order to cash backgroud.