Min SQL ser ut så här vill du slå ihop dem rad för rad? Det skall slås ihop rad för rad. Jag har fått till det nu så när som på en detalj. Ett exempel Det enklaste vore kanske att hämta hela strängen sammanslagen direkt från databasen. Då skulle din fråga kunna se ut så här:Slå ihop poster
SQL = "SELECT TRAKT, BLOCK, TKN, ENHET From FASTIGHETSAGARE "
Set rsSokning = conn.Execute(SQL)
Jag vill nu slå ihop alla poster till en post och som skall hamna i en ny tabell. Dessutom skall det mellan TRAKT och BLOCK vara ett mellanslag i den nya posten. Hur fortsätter jag programmet?Sv: Slå ihop poster
så här löste jag det i Java. istället för att skriva ut som jag har gjort kan du välja att konkatenera dina värden till en temporärsträng som du sedan läser ut till den nya tabellen.
taResultat är en textArea
//Emma
private void skrivUtRS(ResultSet rs){
//skriver ut det resultset som returneras av SQL-uttrycket
int colCount;
taResultat.setText("");
try{
ResultSetMetaData rsmd = rs.getMetaData();
colCount = rsmd.getColumnCount();
while (rs.next()){
for (int i = 1; i < colCount + 1; i++){
taResultat.append(rs.getString(i));
if (i%colCount == 0){
taResultat.append("\n");
}
}
}stmt.close();
}catch (Exception e) } System.out.println(e);}
}Sv: Slå ihop poster
En post för TRAKT, BLOCK, TKN, ENHET ser ut så här
Alphyddan 4 : 1
Att varje del står i varsin kolumn tror jag beror på att någon gammal UNIX inte kunde blanda siffror och bokstäver. Jag vill slå ihop så det blir EN kolumn där det står
Alphyddan 4:1
Jag satte varje del i varsin textvariabel och slog så ihop till en textvariabel.
Nu får jag meddelandet
Syntaxfel (operator saknas) i frågeuttrycket 'Alphyddan 4:1'
Tror programmet att det är en division jag vill utföra?Sv: Slå ihop poster
SQL="SELECT TRAKT+' '+CONVERT(varchar(4),BLOCK)+TKN+CONVERT(varchar(4),ENHET) AS NyPost FROM FASTIGHETSAGARE"
(CONVERT används för att konvertera numerisk data till char-tecken, antalet tecken som krävs beror på hur långa nummer som förekommer i kolumnen.)
<<Chris>>