Help with sign and replacestr functions in SQL
I am trying this:
In a full name if the Middle Initial is null then add an additional space between the First name and last name else select the full name itself.
For to check for the spaces I am subtracting first occurrence of space - second occurrence of space using instr function
I have to use sign function to check for "-value", if the value is -ve then don't do any thing and if it is equal to 0 add one more space to the name.
But how can i use decode here to select the original column if sign is a negative value.
My sql:
IIF(SIGN(INSTR(o_full_name,' ')- (INSTR(o_full_name,' ',1,2)))=0,REPLACESTR(1,o_full_name,' ',' '))
gow can i use decode in place off IIF
this examples might help if the names are in separate columns.
SQL> create table telephone_list
2 (first_name varchar2(20),
3 middle_initial varchar2(2),
4 last_name varchar2(20));
Table created.
SQL> insert into telephone_list
2 values
3 ('Scott',null,'Tiger');
1 row created.
SQL> insert into telephone_list
2 values
3 ('John','T','Perl');
1 row created.
SQL> insert into telephone_list
2 values
3 ('Kim',null,'Molit');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from telephone_list;
FIRST_NAME MI LAST_NAME
Scott Tiger
John T Perl
Kim Molit
SQL> select decode(middle_initial,null,first_name||' '||last_name,
2 first_name||' '||middle_initial||' '||last_name)
3 full_name
4 from telephone_list;
FULL_NAME
Scott Tiger
John T Perl
Kim Molit
SQL> is the name in one column only? please post a sample data. thanks.
Similar Messages
-
Need help with trim and null function
Hi all,
I need help with a query. I use the trim function to get the first three characters of a string. How do I write my query so if a null value occurs in combination with my trim to say 'Null' in my results?
ThanksHi,
Thanks for the reply. What am I doing wrong?
SELECT trim(SUBSTR(AL1.user_data_text,1,3)),NVL
(AL1.user_data_text,'XX')
FROM Table
I want the XX to appear in the same column as the
trim.The main thing you're doing wrong is not formatting your code. The solution may become obvious if you do.
What you're saying is:
SELECT trim ( SUBSTR (AL1.user_data_text, 1, 3))
, NVL ( AL1.user_data_text, 'XX' )
FROM Tablewhich makes it clear that you're SELECTing two columns, when you only want to have one.
If you want that column to be exactly like the first column you're currently SELECTing, except that when that column is NULL you want it to be 'XX', then you have to apply NVL to that column, like this:
SELECT NVL ( trim ( SUBSTR (AL1.user_data_text, 1, 3))
, 'XX'
FROM Table -
Help with resultset and looping thru a sql filed
Hi,
I have a SQL statement which connects two tables with accounting number, the table2 have multiple rows for one accounting number in table1.
So I did if else condition in accounting number in resultset as following:
List<AccRecord> retval = new ArrayList<AccRecord>();
while(rs.next())
//instance of account record
AcciRecord acct1 = new AccRecord();;
if(acc_No != accountNumber)
//then get all data from table1
acc1.setEmpId(rs.getInt("ACC_ID"));
acc1.setEmpId(rs.getString("Acc_Name"));//and other 20 fields like this
else if(acc_No == accountNumber) //this is where it breaks down if same acc number has more than one row in table2,we don't //want to get all other data again from table1
//also get all data associated with that accounting number from table2
Other other1 = new Other();
other1.setEmpId(rs.getInt("EMP_ID"));//these are datas from table2
other1.setjobCode(rs.getString("JOB_CD"));
other1.add(crew1);
retval.add(acc1);
}My question is how can I make logic right, in above code for the first account number it will go to else if condition (coz very first time acc number is never going to be different then previous accounting number,so it won't get my accounting data, the way I have compared it)
I want to code like for one accounting number it brings all accounting data and for that accounting number it also brings all employee data (which is in table2) which will more than one entires,
So..when accounting number is same as previous it shouldn't get all data again from table 1 ,it should go to only else if condition to get data from table 2 , it should go to my if block only when there is a new accounting number, in other words when there is next record in table1
Can anybody help me??
Please...
Thanks
Edited by: ASH_2007 on Mar 28, 2008 11:55 AMhi there,
thanks for ur feedback
but it is always going to contian accno .. so it will never go in your condition
May be I haven't explained it well
I need something which gets all data for every new account number in table 1
Now for that same account number, table2 have 3 rows including that account number 3 times (I am connecting this 2 tables with acc no, table 1 doesn't have duplicate acc no but table 2 does)So my resultset runs 3 times for the first record in table 1, because for that accno table 2 has 3 entries
This is because my sql is as follow,,which I have to,,I can't change due to requirements...
SELECT A.accNumber, A.Date, B.EMP_ID, B.JOB_CD
FROM Table A, Table B, (SELECT SSA.accNumber FROM Table SSA, Table SSB
WHERE SSB.EMP_ID = ? AND
SSA.accNumber = accNumber) C
WHERE A.accNumber = C.accNumber
AND A.accNumber = B.accNumber
//so if I do: like this in my resultset
while(rs.next())
Integer accNumber = rs.getINt(accNumber);
accno =accnumber;
if (accno != accNumber)
{ get all account data
else if(accno == accNumber)
{ get all other data
}but question is it will not satisfy my if condition , because for a new record ,in this case,in first record acc number will never match...
I appreciate your help and time
Please help me
THnaks
Edited by: ASH_2007 on Mar 28, 2008 1:54 PM -
Need complex query with joins and AGGREGATE functions.
Hello Everyone ;
Good Morning to all ;
I have 3 tables with 2 lakhs record. I need to check query performance.. How CBO rewrites my query in materialized view ?
I want to make complex join with AGGREGATE FUNCTION.
my table details
SQL> select from tab;*
TNAME TABTYPE CLUSTERID
DEPT TABLE
PAYROLL TABLE
EMP TABLE
SQL> desc emp
Name
EID
ENAME
EDOB
EGENDER
EQUAL
EGRADUATION
EDESIGNATION
ELEVEL
EDOMAIN_ID
EMOB_NO
SQL> desc dept
Name
EID
DNAME
DMANAGER
DCONTACT_NO
DPROJ_NAME
SQL> desc payroll
Name
EID
PF_NO
SAL_ACC_NO
SALARY
BONUS
I want to make complex query with joins and AGGREGATE functions.
Dept names are : IT , ITES , Accounts , Mgmt , Hr
GRADUATIONS are : Engineering , Arts , Accounts , business_applications
I want to select records who are working in IT and ITES and graduation should be "Engineering"
salary > 20000 and < = 22800 and bonus > 1000 and <= 1999 with count for males and females Separately ;
Please help me to make a such complex query with joins ..
Thanks in advance ..
Edited by: 969352 on May 25, 2013 11:34 AM969352 wrote:
why do you avoid providing requested & NEEDED details?I do NOT understand what do you expect ?
My Goal is :
1. When executing my own query i need to check expalin plan.please proceed to do so
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9010.htm#SQLRF01601
2. IF i enable query rewrite option .. i want to check explain plan ( how optimizer rewrites my query ) ? please proceed to do so
http://docs.oracle.com/cd/E11882_01/server.112/e16638/ex_plan.htm#PFGRF009
3. My only aim is QUERY PERFORMANCE with QUERY REWRITE clause in materialized view.It is an admirable goal.
Best Wishes on your quest for performance improvements. -
Help with writing and retrieving data from a table field with type "LCHR"
Hi Experts,
I need help with writing and reading data from a database table field which has a type of "LCHR". I have given an example of the original code but don't know what to change it to in order to fix it and still read in the original data that's stored in the LCHR field.
Basically we have two Function modules, one that saves list data to a database table and one that reads in this data. Both Function modules have an identicle table which has an array of fields from type INT4, CHAR, and type P. The INT4 field is the first one.
Incidentally this worked in the 4.7 non-unicode system but is now dumping in the new ECC6 Unicode system.
Thanks in advance,
C
SAVING THE LIST DATA TO DB
DATA: L_WA(800).
LOOP AT T_TAB into L_WA.
ZDBTAB-DATALEN = STRLEN( L_WA ).
MOVE: L_WA to ZDBTAB-RAWDATA.
ZDBTAB-LINENUM = SY-TABIX.
INSERT ZDBTAB.
READING THE DATA FROM DB
DATA: BEGIN OF T_DATA,
SEQNR type ZDBTAB-LINENUM,
DATA type ZDBTAB-RAWDATA,
END OF T_TAB.
Select the data.
SELECT linenum rawdata from ZDBTAB into table T_DATA
WHERE repid = w_repname
AND rundate = w_rundate
ORDER BY linenum.
Populate calling Internal Table.
LOOP AT T-DATA.
APPEND T_DATA to T_TAB.
ENDLOOP.Hi Anuj,
The unicode flag is active.
When I run our report and then to try and save the list data a dump is happening at the following point
LOOP AT T_TAB into L_WA.
As I say, T_TAB consists of different fields and field types whereas L_WA is CHAR 800. The dump mentions UC_OBJECTS_NOT_CONVERTIBLE
When I try to load a saved list the dump is happening at the following point
APPEND T_DATA-RAWDATA to T_TAB.
T_DATA-RAWDATA is type LCHR and T_TAB consists of different fields and field types.
In both examples the dumps mention UC_OBJECTS_NOT_CONVERTIBLE
Regards
C -
Problem with tpcall and tpgetrply functions
Hi,
I have a problem with tpcall() and tpgetrply() functions.
In this example (invoke tpcall()):
FBFR32 *buf;
FLDLEN32 buflen;
buf = a_buffer.getBuffer(); /* getBuffer() returns FBFR32* */
buflen = a_buffer.getLongitud();
/* at this point: buf == a_buffer.getBuffer() */
if (tpcall(a_contenedor.getServname(),
(char*)a_contenedor.getBufferPeticion()->getBuffer(),
a_contenedor.getBufferPeticion()->getLongitud(),
(char**)&buf,
(long*)&buflen,
0) == -1)
if (tperrno != TPESVCFAIL)
LANZAR_EXCEPCION(CADENA_WHAT_SB,
"Error en funcion Execute(), llamada tpcall()",
tpstrerror(tperrno))
/* at this point: buf != a_buffer.getBuffer() */
tpcall() function change the memory address of buf. What is the problem? Is wrong my code? Is a problem with tuxedo version?
My tuxedo version is:
tmadmin -vINFO: BEA Tuxedo, Version 8.0, 32-bit, Patch Level 306
INFO: Serial #: 650522264137-773290431251, Expiration NONE, Maxusers 150
INFO: Licensed to: Telefonica Moviles Espa?a, S.A.
INFO: 56-bit Encryption Package
Thanks,
ANTONIO.There's nothing wrong with your code or tuxedo. tpcall (and tpgetrply) can change the address of the return buffer if it needs to allocate more memory to hold the data. This is the reason why you pass a pointer to the buffer as the output buffer parameter to tpcall and tpreturn. Everything is working as expected.
-
Is it possible to create a tree with drag-and-drop functionality using ajax
I saw these samples;
Scott Spendolini's AJAX Select List Demo
http://htmldb.oracle.com/pls/otn/f?p=33867:1:10730556242433798443
Building an Ajax Memory Tree by Scott Spendolini
http://www.oracle.com/technology/pub/articles/spendolini-tree.html
Carl Backstrom ApEx-AJAX & DHTML examples;
http://htmldb.oracle.com/pls/otn/f?p=11933:5:8901671725714285254
Do you think is it possible to create a tree with drag-and-drop functionality using ajax and apex like this sample; http://www.scbr.com/docs/products/dhtmlxTree/
Thank you,
Kind regards.
TonguçHello,
Sure you can build it, I just don't think anyone has, you could also use their solution as well in an APEX page it's just a matter of integration.
Carl -
Hi I am using oracle 10g. Trying to aggregate duplicate count records. I have so far:
SELECT 'ST' LEDGER,
CASE
WHEN c.Category = 'E' THEN 'Headcount Exempt'
ELSE 'Headcount Non-Exempt'
END
ACCOUNTS,
CASE WHEN a.COMPANY = 'ZEE' THEN 'OH' ELSE 'NA' END MARKET,
'MARCH_12' AS PERIOD,
COUNT (a.empl_id) head_count
FROM essbase.employee_pubinfo a
LEFT OUTER JOIN MMS_DIST_COPY b
ON a.cost_ctr = TRIM (b.bu)
INNER JOIN MMS_GL_PAY_GROUPS c
ON a.pay_group = c.group_code
WHERE a.employee_status IN ('A', 'L', 'P', 'S')
AND FISCAL_YEAR = '2012'
AND FISCAL_MONTH = 'MARCH'
GROUP BY a.company,
b.district,
a.cost_ctr,
c.category,
a.fiscal_month,
a.fiscal_year;
which gives me same rows with different head_counts. I am trying to combine the same rows as a total (one record). Do I use a subquery?Hi,
Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
user610131 wrote:
... which gives me same rows with different head_counts.If they have different head_counts, then the rows are not the same.
I am trying to combine the same rows as a total (one record). Do I use a subquery?Maybe. It's more likely that you need a different GROUP BY clause, since the GROUP BY clause determines how many rows of output there will be. I'll be able to say more after you post the sample data, results, and explanation.
You may want both a sub-query and a different GROUP BY clause. For example:
WITH got_group_by_columns AS
SELECT a.empl_id
, CASE
WHEN c.category = 'E'
THEN 'Headcount Exempt'
ELSE 'Headcount Non-Exempt'
END AS accounts
, CASE
WHEN a.company = 'ZEE'
THEN 'OH'
ELSE 'NA'
END AS market
FROM essbase.employee_pubinfo a
LEFT OUTER JOIN mms_dist_copy b ON a.cost_ctr = TRIM (b.bu)
INNER JOIN mms_gl_pay_groups c ON a.pay_group = c.group_code
WHERE a.employee_status IN ('A', 'L', 'P', 'S')
AND fiscal_year = '2012'
AND fiscal_month = 'MARCH'
SELECT 'ST' AS ledger
, accounts
, market
, 'MARCH_12' AS period
, COUNT (empl_id) AS head_count
FROM got_group_by_columns
GROUP BY accounts
, market
;But that's just a wild guess.
You said you wanted "Help with count and sum". I see the COUNT, but what do you want with SUM? No doubt this will be clearer after you post the sample data and results.
Edited by: Frank Kulash on Apr 4, 2012 5:31 PM -
MOVED: [Athlon64] Need Help with X64 and Promise 20378
This topic has been moved to Operating Systems.
[Athlon64] Need Help with X64 and Promise 20378I'm moving this the the Administration Forum. It seems more apporpiate there.
-
Help with a select statement from a SQL Server within a DTS !!
Hello Gurus!
I help with the script bellow, when I run it within DTS (in SQL Sever 2000), I got the error Invalid number/or not a valid month.
Please bellow with the WHERE CLASUE '08/01/2001' AND '03/09/2002'
And in the other hand I change this forma to '01-AUG-01' AND
'03-MAR-2002', the DTS start and run witha successful messages, but it does not returns row, which is wrong.
Somebady please help!
Thanks Gurus!
GET Total ANIs with Trafic By Area Code
select
substr(b.ct_num, 0,3) as Area_Codes,
COUNT(DISTINCT B.CT_NUM) AS ANIS
from
wasabi.v_trans A,
wasabi.V_Sur_Universal B,
wasabi.V_Sub C,
wasabi.V_Trans_Typ D
where
D.Trans_typ = A.Trans_Typ AND
A.Sur_ID = B.Sur_ID AND
C.Sub_ID = A.Sub_ID AND
a.trans_stat != 'X' AND
a.Trans_DTTM >= '08/01/2001'AND
a.Trans_DTTM < '03/09/2002 AND
B.AMA3 = 'PHONE1'
AND C.SUB_ID not in (100117)
GROUP BY
substr(b.ct_num, 0,3)
ORDER BY
Area_CodesI think that you need a "to_date" function eg
change '08/01/2001' to to_date('08/01/2001','dd/mm/yyyy') -
Need help with Thin JDBC connecting Oracle to SQL server.
I am fairly new to JAVA. We have ORACLE 8.1.7 running on Solaris 8. I have a need to
periodically extract data from ORACLE DB and transfer it to SQL Server. I am limited to
moving data from the ORACLE/UNIX environment to SQL Server side.
From what I have read, Server-side Thin driver should work.
1) Are there any issues in trying to achieve this with ORACLE running on the UNIX platform?
2) Will the Server-side Thin driver talk to both the DBs ?
3) Is it possible to provide some sample code ?
Thanks in advance,
SolomonQuattro,
I had complete success in reading from Oracle and writing to SQL Server. First of all let me thank you for all your help. I do have one last request. Its more on optimization than any thing else.
I was trying to optimize my code by grouping both the connections in one place and to keep my reads and inserts together so that I don't commit at the end of each insert etc. I don't seem to have the scope rules under control yet. Could you suggest how to improve this:
import java.sql.*;
public class Test_Combined2 {
public static void main(String args[]) throws SQLException {
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// Connect to the database
// You must put a database name after the @ sign in the connection URL.
// You can use either the fully specified SQL*net syntax or a short cut
// syntax as <host>:<port>:<sid>. The example uses the short cut syntax.
Connection con2 = DriverManager.getConnection ("jdbc:oracle:thin:@Test:1521:PSDEVElOP",
"SOLOMON","SOL1");
// Create a Statement
Statement stmt2 = con2.createStatement ();
String url = "jdbc:microsoft:sqlserver://INTRADEV:1433;DatabaseName=Measure";
Connection con;
String query = "select dataYear, dataMonth, yieldRate from tblYield " ;
Statement stmt;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.print(e.getMessage());
// Select the ENAME column from the EMP table
ResultSet rset = stmt2.executeQuery ("select year_start, monthofyear, percent_comp " +
" from ps_usm_ytd_yield ");
// Iterate through the result and print the employee names
while (rset.next ()) {
System.out.println (rset.getFloat (3));
int ps_dataYear = rset.getInt(1);
int ps_dataMonth = rset.getInt(2);
float ps_yieldRate = rset.getFloat(3);
try{
con = DriverManager.getConnection (url, "tmpuser","tmppush");
stmt = con.createStatement();
PreparedStatement insertTblYield;
String insertString = "insert into tblYield " +
" values(?, ?, ?)";
//con.setAutoCommit(false);
insertTblYield = con.prepareStatement(insertString);
insertTblYield.setInt(1, ps_dataYear);
insertTblYield.setInt(2, ps_dataMonth);
insertTblYield.setFloat(3, ps_yieldRate);
insertTblYield.executeUpdate();
con.commit();
//con.setAutoCommit(false);
/*ResultSet rs = stmt.executeQuery(query);
System.out.println("dataYear, dataMonth, yieldRate");
while (rs.next()) {
int dataYear = rs.getInt(1);
int dataMonth = rs.getInt(2);
float yieldRate = rs.getFloat(3);
System.out.println(" " + dataYear + ", " + dataMonth + ", " + yieldRate);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
} //while
stmt2.close();
con2.close(); -
Help with RTF and special characters
Hi,
I'm curently working on apex 4.1 and i want to generate an .rtf file which i fill with the information coming from a form.
I am doing so without any problems when it comes to normal Americam letters.
I face a problem when i wan't to dynamicly change my subsctitution phrases in the .rtf template with czech characters (á,é...), because i can't just replace the word with these characters in the rtf because it expects to receive some escape formats and not the letter itself.
Can anybody help me figure this one out?
I've tried creating a library of the symbols and their asci code and replacing them in the file but they don't always work. I even saved a .doc file in .rtf and copied the code from that one in my .rtf and it doesn\t work. In the original file i have some characters in my file i have other characters eventhough the code is the same...
I'm puzzled by this one and i don't know what to do.
Thank you,
Alex.Hi,
Yes i wan't to remove information from the clob.
I have an .xml template and if i don't have any updates on some chapters i wan't to remove them.
Until now i have tried to replace the strings that i don't need using the replace function, but sometimes the string that i wan't to replace is longer than 32726 chars.
I have comented the xml clob with tags like "<!-- [[$$1.0]] start -->" and "<!-- [[$$1.0]] end -->" and using the instring and substring functions i get the piece of information i wan't to remove.
"select substr(r.template_content,instr(r.template_content,'<!-- [[$$1.0]] start -->') , instr(r.template_content,'<!-- [[$$1.0]] end -->')-instr(r.template_content,'<!-- [[$$1.0]] start -->'))
from rtf_templates r
where r.template_id=3"
and then i use " clob := replace(clob,get_substr)"
usualy it works but sometimes the length of the subtr is larger than 32767 chars and that's when i have problems.
Any ideeas on how to remove the chunks of info from the clob?
Thank you.
Alex.
I have changed the get_substr select because i wrote it wrong :) now it's ok
Edited by: Banu Alexandru on 06.06.2012 08:44 -
Help with encapsulation and a specific case of design
Hello all. I have been playing with Java (my first real language and first OOP language) for a couple months now. Right now I am trying to write my first real application, but I want to design it right and I am smashing my head against the wall with my data structure, specifically with encapsulation.
I go into detail about my app below, but it gets long so for those who don't want to read that far, let me just put these two questions up front:
1) How do principles of encapsulation change when members are complex objects rather than primitives? If the member objects themselves have only primitive members and show good encapsulation, does it make sense to pass a reference to them? Or does good encapsulation demand that I deep-clone all the way to the bottom of my data structure and pass only cloned objects through my top level accessors? Does the analysis change when the structure gets three or four levels deep? Don't DOM structures built of walkable nodes violate basic principles of encapsulation?
2) "Encapsulation" is sometimes used to mean no public members, othertimes to mean no public members AND no setter methods. The reasons for the first are obvious, but why go to the extreme of the latter? More importantly HOW do you go to the extreme of the latter? Would an "updatePrices" method that updates encapsulated member prices based on calculations, taking a single argument of say the time of year be considered a "setter" method that violates the stricter vision of encapsulation?
Even help with just those two questions would be great. For the masochistic, on to my app... The present code is at
http://www.immortalcoil.org/drake/Code.zip
The most basic form of the application is statistics driven flash card software for Japanese Kanji (Chinese characters). For those who do not know, these are ideographic characters that represent concepts rather than sounds. There are a few thousand. In abstract terms, my data structure needs to represent the following.
- There are a bunch of kanji.
Each kanji is defined by:
- a single character (the kanji itself); and
- multiple readings which fall into two categories of "on" and "kun".
Each reading is defined by:
- A string of hiragana or katakana (Japanese phoenetic characters); and
- Statistics that I keep to represent knowledge of that reading/kanji pair.Ideally the structure should be extensible. Later I might want to add statistics associated with the character itself rather than individual readings, for example. Right now I am thinking of building a data structure like so:
- A Vector that holds:
- custom KanjiEntry objects that each hold
- a kanji in a primitive char value; and
- two (on, kun) arrays or Vectors of custom Reading objects that hold
- the reading in a String; and
- statistics of some sort, probably in primitive valuesFirst of all, is this approach sensible in the rough outlines?
Now, I need to be able to do the obvious things... save to and load from file, generate tables and views, and edit values. The quesiton of editting values raises the questions I identified above as (1) and (2). Say I want to pull up a reading, quiz the user on it, and update its statistics based on whether the user got it right or wrong. I could do all this through the KanjiEntry object with a setter method that takes a zillion arguments like:
theKanjiEntry.setStatistic(
"on", // which set of readings
2, // which element in that array or Vector
"score", // which statistic
98); // the valueOr I could pass a clone of the Reading object out, work with that, then tell the KanjiEntry to replace the original with my modified clone.
My instincts balk at the first approach, and a little at the second. Doesn't it make more sense to work with a reference to the Reading object? Or is that bad encapsulation?
A second point. When running flash cards, I do not care about the subtlties of the structure, like whether a reading is an on or a kun (although this is important when browsing a table representing the entire structure). All I really care about is kanij/reading pairings. And I should be able to quickly poll the Reading objects to see which ones need quizzing the most, based on their statistics. I was thinking of making a nice neat Hashtable with the keys being the kanji characters in Strings (not the KanjiEntry objects) and the values being the Reading objects. The result would be two indeces to the Reading objects... the basic structure and my ad hoc hashtable for runninq quizzes. Then I would just make sure that they stay in sync in terms of the higher level structure (like if a whole new KanjiEntry got added). Is this bad form, or even downright dangerous?
Apart from good form, the other consideration bouncing around in my head is that if I get all crazy with deep cloning and filling the bottom level guys with instance methods then this puppy is going to get bloated or lag when there are several thousand kanji in memory at once.
Any help would be appreciated.
DrakeUsually by better design. Move methods that use the
getters inside the class that actually has the data....
As a basic rule of thumb:
The one who has the data is the one using it. If
another class needs that data, wonder what for and
consider moving that operation away from that class.
Or move from pull to push: instead of A getting
something from B, have B give it to A as a method
call argument.Thanks for the response. I think I see what you are saying.. in my case it is something like this.
Solution 1 (disfavored):
public class kanjiDrill{ // a chunk of Swing GUI or something
public void runDrill(Vector kanjiEntries){
KanjiEntry currentKanjiEntry = kanjiEntries.elementAt(0); // except really I will pick one randomly
char theKanji = currentKanjiEntry.getKanji();
String theReading = currentKanjiEntry.getReading();
// build and show a flashcard based on theKanji and theReading
// use a setter to change currentKanji's data based on whether the user answers correctly;
}Solution 2 (favored):
public class kanjiDrill{ // a chunk of Swing GUI or something
public void runDrill(Vector kanjiEntries){
KanjiEntry currentKanjiEntry = kanjiEntries.elementAt(0); // except really I will pick one randomly
currentKanji.buildAndShowFlashcard(); // method includes updating stats
}I can definitely see the advantages to this, but two potential reasons to think hard about it occur to me right away. First, if this process is carried out to a sufficient extreme the objects that hold my data end up sucking in all the functionality of my program and my objects stop resembling natural concepts.
In your shopping example, say you want to generate price tags for the items. The price tags can be generated with ONLY the raw price, because we do not want the VAT on them. They are simple GIF graphics that have the price printed on a an irregular polygon. Should all that graphics generating code really go into the item objects, or should we just get the price out of the object with a simple getter method and then make the tags?
My second concern is that the more instance methods I put into my bottom level data objects the bigger they get, and I intend to have thousands of these things in memory. Is there a balance to strike at some point?
It's not really a setter. Outsiders are not setting
the items price - it's rather updating its own price
given an argument. This is exactly how it should be,
see my above point. A breach of encapsulation would
be: another object gets the item price, re-calculates
it using a date it knows, and sets the price again.
You can see yourself that pushing the date into the
item's method is much beter than breaching
encapsulation and getting and setting the price.So the point is not "don't allow access to the members" (which after all you are still doing, albeit less directly) so much as "make sure that any functionality implicated in working with the members is handled within the object," right? Take your shopping example. Say we live in a country where there is no VAT and the app will never be used internationally. Then we would resort to a simple setter/getter scheme, right? Or is the answer that if the object really is pure data are almost so, then it should be turned into a standard java.util collection instead of a custom class?
Thanks for the help.
Drake -
I am having problems with the facebook or social media widgets. I would like the link to send viewers to my facebook business page, but when testing it shows my pic and a 'switch' sign (see screen shot) and when I open the site the message is as the other screenshot, great, but I don't know where to find which 'asset' is the problem and why. Also why bother having child pages if the menu doesn't reflect that? I see that drop down menus are an issue, also with some other forum members.
Thanks for any help offered!, I think I have solved the first problem now but still would appreciate any help with the other 2!
For some reason the facebook widget now loads the correct page, and I give up about the drop down menu, hopefully this will be addressed in the next update of Muse??Hello,
For the "asset" issue, try locating the asset in the assets panel. It should have an icon like this: http://jingsite.businesscatalyst.com/jing/2013-12-16_0917.png
For the child pages in the menus issue, go to the menu options (by clicking the small blue arrow in the right top corner of the menu), and then change the menu type to "All Pages" instead of "Top Level Pages".
Hope this helps.
Cheers
Parikshit -
Help with signing in to account please! :-)
i have been a paying skype subscription customer since 2006 - 2008 with a world subscription at every three months.
there are a few things i'd like to tackle.
i cannot remember my skype password, i cannot reset it, it alwasy directs me to use microsoft account but i cannot use that to sign in to skype. =S i have used up all my tokens and have to wait 24 hours but i need to access my account NOW.
I am wondering if my account has been hacked...?
some months back when I restart my computer (mac osx 7.5) it started asking me upon start up if i want to allow skype to allow incoming data or something like that. I have NEVER had that happen before. so sometimes i allow and sometimes i deny. i thought maybe it is something new maybe with an update i don't know...
is this normal?
so since i cannot remember my password i went to keychain access and i select show password and put in my admin password and it will not show it but under the account field in keychain access it says .token.0.
a couple few years back somehow there was a malicious charge made to my bank account adn i had to get a new bank account it was a nightmare and i happend to notice this right a couple days before flying overseas to be gone for several months. anyway, i was going through my records and saw taht at 10 dollar charge was made 23 may 2013. i dont recall purchasing skype credit and since my 26.95 charge was done just a couple days after this why would i need more credit? i dont know it is STRANGE. this was something similar to what happend a while back.
it says that with the world subscription i am supposed to be given a small amount of credit but over the years i have never seen this why not? and where can i get it?
it was so frustrating to try to get help, i wanted so much to do chat support but i cannot sign in because I cannot remember my password. =S fortuantly i still have my skype set to sign in automatically so i can still chat and call via there but i need to access my account to find payment history.
i am looking forward so very much to hear from anyone as soon as possible. I have sent this request to personal people here on this webpage and have heard NOTHING... which on the help page for skype is says it is a helpful community. I am starting to wonder about that. Please help anyone.
thank you very kindly for your valuable time.I have attached a file below to show that i am just getting noWHERE with this apparent help to sign in. in the second to last picture you will notice it says reset microsoft password. BUT I DONT NEED TO. the very last photo showes that there is a distinct individual option to reset just the skype password and i cannot do that using the code that they have emailed me. i just want to reset my skype account.
PLEASE SOMEONE HELP.
i have been asking help since thrusday.
Attachments:
skype help.pdf 501 KB
Maybe you are looking for
-
Need suggestions with massive query
I have a huge report that gathers data about all facets of the company to display in one place. I have built a procedure to calculate and store the data (as it gets processed once and viewed often), but the query to display it is huge - about 1950 li
-
How to schedule a job poles for a entry in a table.
Hi All , I have to schedule a job which runs somw stored procedures only on sunday and monday of a week at 3 AM in the morning. The condition is that another application puts an entry into a table around 3 AM (some times before and some times late),
-
Is there a way to simplify this? applying functions to 16 channels - software trigger
hey, at first I want to appologize for hurting everybodies eyes. Today I ended up with a pretty weird VI and I was wondering if there is any way to do this a littler easier. Basicly I want to acquire 16 channels from a device. Unfortunately the devic
-
Hi , I am want copy screen and some object from ecc 5 to ecc 6.. I want copy one zscreen tab for PO which is not aviable ECC 6 . Can any one suggest easiest way to copy screen. I know only do
-
Hi, another Problem: I need to add the "Hue/Saturation" Effect. In my german Version it is "Farbton/Sättigung". Both Names do not work. I also tried some Variations like "Farbton/Saettigung" or "Hue_Sat" an so on, but nothing works. How can I get the