Select distinct statement with various alias
Hi everybody,
I'm trying to put a select distinct statement in a query with two different alias for two different tables; like that:
select distinct a.ma_name||'.'||a.ma_first_name d,
a.ma_first_name||'.'||a.ma_name r
from ma_main a, manager_liste b
where (UPPER(b.manager_first_name||'.'||b.manager_name) = :APP_USER or
(case when 'X'=:APP_USER or 'Y'=:APP_USER
then 1
else 0
end) = 1)
order by a.ma_name
But it doesn't work. Can anybody help?
Thx a lot!
Jan
hi,
this is the error:
1 error has occurred
LOV query is invalid, a display and a return value are needed, the column names need to be different. If your query contains an in-line query, the first FROM clause in the SQL statement must not belong to the in-line query.
and the table manager_liste and ma_main are varchar tables.
how can i make it work, so that my select list with submit does only show distinct names. Because right now it shows each name about 10 times....
Similar Messages
-
Problems with "Select Distinct" Statement
Hi... I've a little problem with my SQL Statement...
I've a Table in a DataBase with Solds of the Month... the fields are: vta_fecha, vta_prod, vta_total, vta_mesa.
I've to Select only the distincts fields of vta_prod... selected by vta_fecha and vta_mesa...
My code is like this: try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conec = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/POOL/Data/BaseDat.MDB");
state = conec.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);try{
rec = state.executeQuery("Select DISTINCT vta_prod, vta_fecha, vta_mesa from Ventas where vta_fecha = #" + Fecha_q + "# And vta_mesa = 0");
rec.first();
int x = 0;
while (rec.isAfterLast()==false){
x++;
rec.next();
rec.first();
if (x > 0){
Productos = new String[x];
Total_Vta = new int[x];
Cant_Prod = new int[x];
x = 0;
while (rec.isAfterLast() == false){
Productos[x] = rec.getString("vta_prod");
rec.next();
x++;
else{
Productos = new String[0];
Total_Vta = new int[0];
Cant_Prod = new int[0];
}catch(Exception e){JOptionPane.showMessageDialog(null,e.getMessage());}Now, in the Table I have only 3 diferents vta_prod, but this Statement returns 9 Rows... and I don't know why...
Please help me...
Regards...I don�t have a complete picture because I don�t know what values you are passing in the select and I don�t know your column types but this is what I think is happening from what you have shared.
You may have misunderstood what the DISTINCT keyword does.
The DISTINCT keyword applies to the full set of columns in the select (not just the first column). So in your case it would be equivalent to:
SELECT vta_prod, vta_fecha, vta_mesa
FROM Ventas
WHERE ...
GROUP BY by vta_prod, vta_fecha, vta_mesa
So, it doesn't matter that you only have 3 distinct vta_prod values if you have multiple values being returned in the other columns. The vta_mesa column can only a return a single value as �0�. That leaves the vta_fecha column which is probably a date/time column and is probably the column that is returning the three other distinct values (one date with three distinct times).
(3 vta_prod) x (3 vta_fecha) x (1 vta_mesa) or 3x3x1 = 9 rows
So find a way to strip the time from vta_fecha in your select statement and your SQL should return the results you expect. I�m not an Access expect but I think I remember you can use something like the �Convert� or �DatePart� functions to make that happen (check your documentation to be sure)..
A couple of asides;
1) You should use a PreparedStatement and rarely if ever use Statement.
2) You should start Java variable names with lower case. -
Select distinct problem with muliple join tables, help needed
Hi,
I have two main tables. Each has its of sub joined tables.
guest_id_for_reservation connects two major tables. This has
to be that way
because my guest may change the room status from single to
double (and the
similar exceptional requests).
guests reservation
guest_id_for_reservation
countrytable hoteltable
delegationtable roomtype
I form a query. I want to select distinct those results. But
it does not
work.
If I do not include any table related to reservation table
and its sub
joined tables (disregarding guest_id_for_reservation), it
works.
Is there a specific syntax for select distinct of this type
or any
workaround.?
Thank you
HakanHi I'm still battling with this - have connected the AX to my Imac via ethernet and it shows up fine in Airport Utility. Status light is green and it says its set up to connect to my existing wireless network using wireless connection. Security in Network Preferences is the same for both: WPA2 Personal.
So I don't think there's a problem with the AX, and my current wireless network (BT Home Hub) is working fine.
And when I restore factory settings Airport Utility can see the AX before updating settings so the wireless side of AX must work too.
I'm figuring it must be something about the settings that mean AU can't see it anymore. But I can't work out what, since security is the same.
Any ideas would be great! -
Select SQL statement with variable syntax error
Hi All,
I am running a Web Application with a java bean to connect to a mysql database. i have compiled a test .java file whcih works using the same statement that has a problem in my web application. Taking the statement out of the Web App makes it work so it must be this stetment:
String SQLStatement = "SELECT * FROM MASTER WHERE USERNAME LIKE '"+data+"' ";
This works fine in testing a separate java file, but it does not compile when running ant build to compile the same line of code for my Web App.
I have tried many possibilities of changing the syntax to no avail, its a puzzle!
Many thanks for any swift reply.
ChrisGprepare:
copy:
build:
[javac] Compiling 1 source file to C:\jwsdp-1.3\garland\build\WEB-INF\classe
s
[javac] C:\jwsdp-1.3\garland\src\LogonBean.java:20: cannot resolve symbol
[javac] symbol : variable data
[javac] location: class logonApp.LogonBean
[javac] String SQLState2 = "SELECT PASSWORD FROM MASTER WHERE PASSWORD L
IKE '"+data+"' ";
[javac]
^
[javac] C:\jwsdp-1.3\garland\src\LogonBean.java:79: cannot resolve symbol
[javac] symbol : variable SQLState1
[javac] location: class logonApp.LogonBean
[javac] rs = stmt.executeQuery(SQLState1);
[javac] ^
[javac] 2 errors
Thats the compiler error, but it still works on a normal java file. ill try a prepared statement in the mean time.
ChrisG -
Hi,
how Do I write this select in rigth way in ABAP
SELECT ska1ktopl AS ktopl ska1saknr AS saknr
t370k_t~eartx AS eartx
INTO TABLE lt_ska1 FROM ska1
JOIN (SELECT DISTINCT damage_gl FROM zzpm_cost_elem ) ON ska1saknr = zzpm_cost_elemdamage_gl.
The problem with the select "SELECT DISTINCT damage_gl FROM zzpm_cost_elem " which I have to put table name instead of it
What should I do ?
ThxHi Friend ,
Please see this example how you can use the select DISTINCT statement
DATA: ITAB TYPE STANDARD TABLE OF SPFLI,
WA LIKE LINE OF ITAB.
DATA: LINE(72) TYPE C,
LIST LIKE TABLE OF LINE(72).
LINE = ' CITYFROM CITYTO '.
APPEND LINE TO LIST.
SELECT DISTINCT (LIST)
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM SPFLI.
IF SY-SUBRC EQ 0.
LOOP AT ITAB INTO WA.
WRITE: / WA-CITYFROM, WA-CITYTO.
ENDLOOP.
ENDIF.
Regards, -
SELECT DISTINCT only on some fields but returning other fields.
As the thread says I need to select distinct rows with some fields but I need to show the associated data of other columns in the same table.
Simple Example
SUPPOSE THE TABLE INFO:
INFO(ID, NAME, TITLE, NUMBER, TELEPHONE, FAX, DESCRIPTION, TOPIC);
The table info could have null values in all the columns except for the ID. And there could be the same information for: Name, Title, Number, Telephone, Fax info in a lot of rows.
With the following statement I get distinct rows based on the name, title, number, telephone, fax and i get assured that the row with name in null is not returned.
SELECT DISTINCT P.NAME, P.TITLE,P.NUMBER,P.TELEPHONE,P.FAX FROM INFO P WHERE TRIM(P.NAME) IS NOT NULL;
returns 1400 rows;
The problem is that I need the DESCRIPTION and TOPIC columns of the 1400 distinct rows.
I have tried the following, but without sucess because the statement is returning 1350 rows, so there are 50 rows losted:
SELECT P.NAME, P.TITLE,P.NUMBER,P.TELEPHONE,P.FAX, P.DESCRIPTION,P.TOPIC
FROM INFO P , (SELECT DISTINCT P.NAME, P.TITLE,P.NUMBER,P.TELEPHONE,P.FAX FROM INFO P WHERE TRIM(P.NAME) IS NOT NULL) R
WHERE P.NAME= R.NAME AND P.TITLE = R.TITLE AND P.NUMBER = R.NUMBER AND P.TELEPHONE = R.TELEPHONE AND P.FAX = R.FAX;
Could anybody give me some help?
pd: Don´t ask why the table has been designed in that way... I'm trying to fix that ¬¬
Edited by: user6483610 on Sep 1, 2010 6:29 PM@Raj Mareddi: I have tried that aproach and it gives the ORA-00979: not a GROUP BY expression
@PhoenixBai: You put me to think... jajaja i haven't think about it, actually there are more distinct values if I put the DESCRIPTION and TOPIC values in the query and yes I was hoping that the query choose for me... So I think that theres no way, the quality of the data is really bad and I have to deal with it. Thanks anyway!
By oher hand theres no way to do this thing in Oracle? the aproach of Raj makes sense but the ORA-00979: not a GROUP BY expression says that you must remove the other columns that are not in the group by function. -
Is it possible to do select distinct queries with Kodo/JDO? I have a table
of with a county field and a state field. There are obviously many counties
for each state. I'd like to get a list of just the states using a select
distinct query. Do I have to use JDBC or one of the query extensions to do
this?Hi Abe
Can you show us the query you are executing that returns duplicateobjects?
String filter = " _measurements.contains(measurement) &&
measurement._labRef.startsWith(labRef)";
Query query = pm.newQuery(Sample.class, filter);
query.declareParameters("java.lang.String labRef");
query.declareVariables("SampleMeasurement measurement");
Collection samples = (Collection)query.execute("foo Name");
"Sample" contains a collection of "SampleMeasurement" objects in the field
"_measurements".
According to the log, the following SELECT statement is created:
SELECT t0.JDOID, t0.JDOCLASS, t0.JDOVERSION, t0.NAME0, ...
FROM kodo.SAMPLE t0
INNER JOIN kodo.SAMPL__MEASUREMENTS t1
ON t0.JDOID = t1.JDOID
INNER JOIN kodo.SAMPLEMEASUREMENT t2
ON t1.MEASUREMENTS_JDOID = t2.JDOID
WHERE (t2.LABREF LIKE ?)
[params=(String) foo Name%]
The query returns for every matching SampleMeasurement a Sample object.
These objects may be duplicates.
Best regards
-- Pat -
Update statement with nested selects and alias usage
Hello, we are trying to build an update statement like this...
update table1 t1
set attr1 = ( select someattr
from (nested select 1) as aux1
(nested select 2 (nested select 2.1 + nested select 2.2)) ) as aux2
where some_join_clauses
where t1.attr2 = 123
and t1.attr3 = 'abc'
Alias t1 shound be known at the level of nested select 1,2 and 2.1, 2.2? We are receiving an error message saying that t1.someattr is an invalid identifier. Can you help? Thanks!mauramos wrote:
Hello, we are trying to build an update statement like this...
update table1 t1
set attr1 = ( select someattr
from (nested select 1) as aux1
(nested select 2 (nested select 2.1 + nested select 2.2)) ) as aux2
where some_join_clauses
where t1.attr2 = 123
and t1.attr3 = 'abc'
Alias t1 shound be known at the level of nested select 1,2 and 2.1, 2.2? We are receiving an error message saying that t1.someattr is an invalid identifier. Can you help? Thanks!You can only reference elements nested 1 level deeper in a correlated update statement.
I'd suggest you try with the MERGE statement, or alternatively, post some sample data (insert statements) and table DDL (create statements), with an 'expected output' description and we can try to help you build a suitable statement. -
A Select statement with Appending table statement in it.
Hi,
How can I use a select statement with a <Appening table> statement in it.
SELECT DISTINCT <field Name>
FROM <DB table name>
APPENDING TABLE <itab>
WHERE <fieldname> EQ <Itab1-fieldname>
AND <fieldname> EQ <itab2-fieldname>.
Can I use the above select statement.If I'm using this...how this works?
Regards
DharmarajuHi, Dharma Raju Kondeti.
I found this in the SAP online help, hope this can help you.
Specifying Internal Tables
When you read several lines of a database table, you can place them in an internal table. To do this, use the following in the INTO clause:
SELECT ... INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
[PACKAGE SIZE <n>] ...
The same applies to the line type of <itab>, the way in which the data for a line of the database table are assigned to a table line, and the CORRESPONDING FIELDS addition as for flat work areas (see above).
The internal table is filled with all of the lines of the selection. When you use INTO, all existing lines in the table are deleted. When you use APPENDING; the new lines are added to the existing internal table <itab>. With APPENDING, the system adds the lines to the internal table appropriately for the table type. Fields in the internal table not affected by the selection are filled with initial values.
If you use the PACKAGE SIZE addition, the lines of the selection are not written into the internal table at once, but in packets. You can define packets of <n> lines that are written one after the other into the internal table. If you use INTO, each packet replaces the preceding one. If you use APPENDING, the packets are inserted one after the other. This is only possible in a loop that ends with ENDSELECT. Outside the SELECT loop, the contents of the internal table are undetermined. You must process the selected lines within the loop.
Regards,
feng.
Edited by: feng zhang on Feb 21, 2008 10:20 AM -
Again the SUM and DISTINCT Problem (With SQL Statement)
Here is the actual SQL,
select
NVL(l.pr_cust_prod,'zzzzz') A,
NVL(l.pr_prod_code,'zzzzz') B,
NVL(l.pr_lot_no,'zzzzz') C,
NVL(l.db_waf_qty,'99999') lotQty,
NVL(t.db_cust_po,'zzzzz') poNum,
NVL(p.oe_po_line,'99999') poLineNum,
i.db_shpmt_no invNum,
from
db_invoice i, db_line_lot l, db_inv_item t, db_prod_line p
where
l.db_shpmt_no like 'U388%'
and i.db_invo_date > sysdate - 500
and l.pr_run_type = 'PR'
and l.db_shpmt_no = i.db_shpmt_no
and l.db_shpmt_no = t.db_shpmt_no
and l.db_item_no = t.db_item_no
and p.db_ref_numa1 = t.db_tsmc_po
and l.db_shpmt_no not in
(select distinct db_shpmt_no from ftp_cust_ship
where DB_MAST_ACCT='U388' and sys_name='SENT')
and l.pr_prod_code like '%Z_'
group by l.pr_lot_no, l.db_line_numb, l.pr_cust_prod, l.pr_prod_code,
t.db_cust_po, i.db_delv_cod2, l.db_lot_desc, i.db_shpmt_no,
p.oe_po_line
order by lotNum
the problem is that if I dont use SELECT DISTINCT at beginning
the result is like
F , LOTQTY , PONUM , POLINENUM
DP8568.00,25 ,BVI10080 ,1
DP8568.00,25 ,BVI10080 ,2
DP8568.00,25 ,BVI10080 ,1
DP8568.00,25 ,BVI10080 ,1
DP8568.00,25 ,BVI10080 ,2
DP8568.00,25 ,BVI10080 ,1
DP8568.00,25 ,BVI10080 ,1
DP8568.00,25 ,BVI10080 ,2 //pleae note the QTY and POLINENUM
Then if Add SELECT DISTINCT, the result will be
F ,LOTQTY , PONUM , POLINENUM
DP8568.00,25 ,BVI10080,1
DP8568.00,25 ,BVI10080,2
but I change the NVL(l.db_waf_qty,'99999') lotQty, statement to NVL((SUM( l.db_waf_qty)),'99999') lotQty,
this will give me the result
F ,LOTQTY, PONUM , POLINENUM
DP8568.00,75 , BVI10080 ,2
DP8568.00,125 , BVI10080 ,1
Which I excepted the result as
F ,LOTQTY, PONUM , POLINENUM
DP8568.00,25 , BVI10080 ,2
DP8568.00,25 , BVI10080 ,1
And Advise??
Thanks a lot
Jonbased on the data set you given
SQL>
SQL> With t As
2 (
3 Select 'DP8568' c1 ,0.25 c2,'BVI10080' c3,1 c4 From dual Union All
4 Select 'DP8568' ,0.25 ,'BVI10080' ,2 From dual Union All
5 Select 'DP8568' ,0.25 ,'BVI10080' ,1 From dual Union All
6 Select 'DP8568' ,0.25 ,'BVI10080' ,1 From dual Union All
7 Select 'DP8568' ,0.25 ,'BVI10080' ,2 From dual Union All
8 Select 'DP8568' ,0.25 ,'BVI10080' ,1 From dual Union All
9 Select 'DP8568' ,0.25 ,'BVI10080' ,1 From dual Union All
10 Select 'DP8568' ,0.25 ,'BVI10080' ,2 From dual
11 )
12 Select c1,
13 sum(c2) lot_qty,
14 c3,
15 c4
16 From
17 (
18 Select c1, --Sum(c2) over (Partition By c1,c4 Order By c4)
19 row_number() over (Partition By c1,c4 Order By c4) rn,
20 c2,
21 c3,
22 c4
23 From t
24 ) Where rn = 1
25 Group By c1, c3, c4;
C1 LOT_QTY C3 C4
DP8568 0.25 BVI10080 2
DP8568 0.25 BVI10080 1
SQL> -
Hey,
I am trying to perform a SELECT DISTINCT COL1, COL2, COL3 FROM VIEW WHERE CONDITION using LINQ with ODAC 112030 but I get different results.
C#:
var s1 = context.Select(v=>new { v.COL1, v.COL2, v.COL3}).Where(...).Distinct();
Any ideas?Hey,
I think this way works - with anonymous types:
context.Entity.Where(...).Select(ent => new { col1 = ent.COL1, ... }).Distinct();.
You can also do context.Entity.Select("distinct it.COL1, it.COL2").Where("..."); but one should be careful to add all necessary columns in select statement.
Edited by: 917334 on Jun 7, 2012 7:11 AM -
OraException from Command.ExecuteReader with SELECT DISTINCT
Hello
I am trying to fill an OraDataReader object from a OraCommand object.
It appears that whenever the statement includes a SELECT DISTINCT, the command fails (even though the SQL statement works fine when executed e.g. in TOAD)
Dim Conn As OraConnection = New Oracle.DataAccess.Client.OraConnection("[Valid connection string]")
Conn.Open()
Dim Command As OraCommand = New OraCommand()
Command.CommandType = CommandType.Text
Command.CommandText = "select DISTINCT nvl(SUBFAMILY_COMPETENCY_ID, 0) SUBFAMILY_ID, nvl(NAME, ' ') NAME, FAMILY_COMPETENCY_ID FAMILY_ID " & _
" from TAXONOMY_RELATIONAL, COMPETENCY " & _
" where TAXONOMY_RELATIONAL.CL_ID = :1 " & _
" AND COMPETENCY.cl_id (+) = TAXONOMY_RELATIONAL.cl_id and COMPETENCY.language_id (+) = :2 " & _
" and COMPETENCY.COMPETENCY_ID (+) = TAXONOMY_RELATIONAL.SUBFAMILY_COMPETENCY_ID " & _
" order by FAMILY_ID, SUBFAMILY_ID"
Command.Parameters.Add("@CL_ID", context.Session!CLID)
Command.Parameters.Add("@LANGUAGE_ID", context.Session!LANGUAGEID)
Dim DataReader As OraDataReader = Command.ExecuteReader(CommandBehavior.CloseConnection)
An Oracle.DataAccess.Client.OraException is raised when executing the last statement, but no further details are given in the error message. The stack trace begins as follows
[OraException]()
Oracle.DataAccess.Client.OraException.HandleErrorHelper(Int32 errCode, OraConnection conn, IntPtr opsErrCtx, IntPtr opsSqlCtx, Object src, String procedure) +639
Oracle.DataAccess.Client.OraCommand.ExecuteReader(+737)
Oracle.DataAccess.Client.OraCommand.ExecuteReader(CommandBehavior behavior) +8
The exception disappears as soon as I remove the DISTINT keyword from my SQL statement.
Is this a bug or am I doing something wrong?
Thanks for help,
Bernt FischerThis issue is same as the one mentioned in the thread with title "Problem with 'Select distinct'" and the fix would be available in the next release.
-
How to avoid data repetation when using select statements with innerjoin
how to avoid data repetation when using select statements with innerjoin.
thanks in advance,
satheeshyou can use a query like this...
SELECT DISTINCT
frg~prc_group1 "Product Group 1
frg~prc_group2 "Product Group 2
frg~prc_group3 "Product Group 3
frg~prc_group4 "Product Group 4
frg~prc_group5 "Product Group 5
prc~product_id "Product ID
txt~short_text "Product Description
UP TO 10 ROWS
INTO TABLE l_i_data
FROM
Joining CRMM_PR_SALESG and
COMM_PR_FRG_ROD
crmm_pr_salesg AS frg
INNER JOIN comm_pr_frg_rod AS prd
ON frgfrg_guid = prdfragment_guid
Joining COMM_PRODUCT and
COMM_PR_FRG_ROD
INNER JOIN comm_product AS prc
ON prdproduct_guid = prcproduct_guid
Joining COMM_PRSHTEXT and
COMM_PR_FRG_ROD
INNER JOIN comm_prshtext AS txt
ON prdproduct_guid = txtproduct_guid
WHERE frg~prc_group1 IN r_zprc_group1
AND frg~prc_group2 IN r_zprc_group2
AND frg~prc_group3 IN r_zprc_group3
AND frg~prc_group4 IN r_zprc_group4
AND frg~prc_group5 IN r_zprc_group5.
reward it it helps
Edited by: Apan Kumar Motilal on Jun 24, 2008 1:57 PM -
I m trying to find if LIMIT is a part of the select statement and if works like
set rowcount 1 in sybase....if anyone can post the generic select statement with LIMIT in it that would be great!
any help or input will be greatly appreciated
Thanks!Hallo,
i don't know sybase, but it is probably rownum
select * from scott.emp
where rownum < 3
Regards
Dmytro -
How to use a select statement with chinese characters?
I am currently developing a java servlet<using tomcat 4.x> which allows me to use select statement to retrieve results from the Microsoft SQL Server 2000 database. I am using a simple form to get the parameter for querying. The main problem i'm facing is that there are chinese information in the SQL database, but i can't retrieve it through the sql statement with the chinese characters input<thru the form with the help of NJ STAR>in the WHERE condition. When i execute the statement, it returns me no results even though the rows are present in the database.
Does anyone have the solution to using chinese words in the WHERE clause of the select statement to retrieve results with columns which contains chinese characters? Please help me. Thanks everyone. :)
PS: when i cut and paste those characters in the sql database and paste onto java.. it is ??? in questionmarks.. but when i paste them into excel 2000.. its shown as chinese chars again..
please heelppp~~Greetings,
PS: when i cut and paste those characters in thesql
database and paste onto java.. it is ??? in
questionmarks.. but when i paste them into excelThis is why the SELECT is not returning any results.
You need to set the character encoding set on your
statement and parameters for the characters to be
properly translated. Refer to the charsetName
parameter in the String class constructor in your API
docs and also to
$JDK_DOCS/guide/intl/encoding.doc.html in your JDK
documentation.
2000.. its shown as chinese chars again..Because Office programs are performing the same kind
of character translation with the appropriate MS APIs.
please heelppp~~Regards,
Tony "Vee Schade" Cookis it possible for you to show me some coding examples? i don't really understand what is to be done in order to set the char set and what does it really do.. tried reading up but still dun understand.. :(
pardon my shallow knowledge of java..
ok..
The thing is when i used an insert statement with chinese characters of GBK format hardcoded into the java servlet and then i use the insert statement to insert the chars into the database, it cannot be seen as a chinese word when i off the NJStar. and then it can be searched out with my current form of servlet.. below is my coding of the servlet..
note: i've set my html file to charset = GBK
//prototype of Search engine...
//workable for GBK input and output...
import java.io.*;
import java.io.OutputStream;
import java.io.IOException;
import javax.servlet.http.*;
import javax.servlet.ServletException;
import java.util.*;
import java.sql.*;
import java.nio.charset.Charset;
public class SearchBeta extends HttpServlet {
private Vector musicDetails = new Vector();
private String query = "";
public void service (HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException, UnsupportedEncodingException {
query = req.getParameter ("T1");
System.out.println("before:"+query);
String type = req.getParameter ("D1");//type
query = req.getParameter ("T1");
//query = "������";
System.out.println("after:"+query);
getResults(type,query);
System.out.println("locale = :"+req.getLocale());
res.setContentType ("text/html;charset=GBK");
PrintWriter out = res.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<body bgcolor = \"black\">");
out.println("<font face = \"comic sans ms\" color=\"Cornsilk\">");
if (query.length()==0)
out.println ("Please key in your search query.");
else if (musicDetails.size()==0)
out.println ("Sorry, no results matching your search can be found.");
else {
out.println("<center>");
out.println("<table cellspacing = \"50\">");
int i = 0;
//Display the details of the music
while (i<musicDetails.size()) {
Results details = (Results)musicDetails.get(i);
String dbArtist = "";
String dbAlbum = "";
String dbTitle = "";
String dbCompany = "";
dbAlbum = details.getAlbum();
dbTitle = details.getTitle();
dbCompany = details.getCompany();
dbArtist = details.getArtist();
try{
dbAlbum = new String(dbAlbum.getBytes("ISO-8859-1"),"GBK");
dbTitle = new String(dbTitle.getBytes("ISO-8859-1"),"GBK");
dbCompany = new String(dbCompany.getBytes("ISO-8859-1"),"GBK");
dbArtist = new String(dbArtist.getBytes("ISO-8859-1"),"GBK");//correct translation.
catch(UnsupportedEncodingException e){
System.out.print(e);
e.printStackTrace();
String dbImage_loc = details.getImage();
out.println("<tr>");
out.println("<td><table>");
out.println("<img src=C:\\Program Files\\Apache Group\\Tomcat 4.1\\webapps\\examples\\ThumbNails\\"+dbImage_loc+">");
out.println("<tr>");
out.println("<th><font color=\"violet\"> Artist: </font></th>");
out.println("<td><font color=\"Cornsilk\">"+dbArtist+"</font></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<th><font color=\"violet\"> Title: </font></th>");
out.println("<td><font color=\"Cornsilk\">"+dbTitle+"</font></td>");
out.println("</tr>");
out.println("<tr>");
out.println("<th><font color=\"violet\"> Company: </font></th>");
out.println("<td><font color=\"Cornsilk\">"+dbCompany+"</font></td>");
out.println("</tr>");
System.out.println("album: "+ dbAlbum);
out.println("<tr>");
out.println("<th><font color=\"violet\"> Album: </font></th>");
out.println("<td><font color=\"Cornsilk\">"+dbAlbum+"</font></td>");
out.println("</tr>");
System.out.println("company: "+ dbCompany);
out.println("</table></td>");
out.println("</tr>");
i++;
out.println("</table>");
out.println("</center>");
out.println("</font>");
out.println("</body>");
out.println("</head>");
out.println("</html>");
out.close();
//to remove all the elements from the Vector
musicDetails.removeAllElements();
//get Searched Music Details and store in Results object which is stored in musicDetails vector
public void getResults (String type, String searchQuery) {
try {
Class.forName ("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=music","sa","kokkeng");
Statement stmt = con.createStatement();
String query = "SELECT * FROM MusicDetails WHERE "+type+" = '"+searchQuery+"'";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String artist = rs.getString("Artist");
String title = rs.getString("Song");
String company = rs.getString("Company");
String album = rs.getString("Album");
String image_loc = rs.getString("Image");
Results details = new Results (artist,title,company,album,image_loc);
musicDetails.add(details);
stmt.close();
con.close();
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
with the above servlet i created, i can search out the data in the database which i've inserted through the insert statement. I still can't search for things i've keyed into the database directly using NJStar..
thank you so much for helping.. really hope any one else who knows the answer to this will reply too... thank you all so much...
-KK
Maybe you are looking for
-
Error in installation ecc6.0
i am getting this error while installing sapinst. SAPinst is getting started. Please be patient ... starting gui server process: sapinstport: 21200 guiport : 21212 guistart : true command : "D:\j2sdk1.4.2_12/bin\javaw.exe" -cp "D:/DOC
-
How to do development on Weblogic Portal ( 10.3.2 )
Im trying to do Weblogic Portal Development as described in http://download.oracle.com/docs/cd/E15919_01/wlp.1032/e14252.pdf But When I downloaded the latest Weblogic Eclipse IDE ( OEPE ) ( Oracle Enterprise Pack for Eclipse ), I do not see the Porta
-
I have an error opening a pdf document
Everytime I try to open a pdf document while I am online, I just get a little black box with an x in it. My adobe is installed correctly and it is up to date. What do I need to do to fix it? Thanks for the help
-
CS4: how to change cmd+H function?
Hi, I have recently got CS4 and one thing really bugs me, the cmd+H function has changed to ctrl+cmd+H. It used to be used to show/hide frame edges but now cmd+H appears to have been taken over by the Mac system, to hide any and all applications. I'
-
After knowing usage of NTILE analytical function, i started using it to divide my rows into batches. However I'd like to pass the expression dynamically (depending on the row count), but unfortunately I see some limitations inhibit me from achieving