View Full Version : [MySQL] Programmazione quale software?
Ciao Ragazzi,
ho tirato su un server MySQL dove ho creato la mia tabella con le relative voci esempio banalissimi, tabella agenda con le voci nome, cognome, telefono.
A questo punto fossi in ambiente Microsoft avrei aperto il mio bel visual basic 6 oppure .NET e avrei creato l'interfaccia per dialogare con il server dove gira MySQL...... però voglio usare Linux anche per il client.... Che software di programmazione devo usare? quale linguaggio devo usare?
Di primo acchito mi viene da pensare a php o asp......
Ciao
Dipende da cosa vuoi scrivere, qual'è lo scopo del db? E' un'agenda? Come vorrai usarla? Da riga di comando, da browser, da widget sul desktop, da programma grafico dedicato, tramite un'applicazione in 3D? Dovrà essere utilizzabile dal solo utente locale o raggiungibile via rete?
Senza sapere che programma vuoi scrivere difficilmente ti si può consigliare il linguaggio più adatto.
se su windows avresti usato .NET.. cosa ne dici di usare Java?
Effettivamente avete ragione :D :doh:
Pensavo di fare un software client che si connettesse tramite rete al db e tramite interfaccia grafica inserire, cancellare, modificare, leggere i dati nel db.
Java nn lo conosco proprio però posso sempre cimentarmi :D in .net avrei magari fatto una pagina .asp con una routine in visual basic.....
Mi sapete dire un software per programmare?
khelidan1980
13-10-2008, 09:03
Effettivamente avete ragione :D :doh:
Pensavo di fare un software client che si connettesse tramite rete al db e tramite interfaccia grafica inserire, cancellare, modificare, leggere i dati nel db.
Java nn lo conosco proprio però posso sempre cimentarmi :D in .net avrei magari fatto una pagina .asp con una routine in visual basic.....
Mi sapete dire un software per programmare?
in java??e lo chiedi pure ? :D
http://www.eclipse.org/
comunque visto che devi fare interfaccia grafica:
http://www.netbeans.org/
che include un editor per interfacce veramente notevole
Stavo pensando....., ma se faccio un'applicazione java la posso far girare anche su una pagina web giusto?
Però a questo punto chi si connette alla mia pagina web per usufruire del servizio deve aver installato java giusto?
Ecco ad esempio in linux il java non è installato nativamente quindi un utente alle prime armi si troverebbe in difficoltà.....
C'è invece la possibilità di adottare un linguaggio presente nativamente sia in windows che in linux? mi viene da pesare all'html però nn so se sia possibile.......
Stavo pensando....., ma se faccio un'applicazione java la posso far girare anche su una pagina web giusto?
Però a questo punto chi si connette alla mia pagina web per usufruire del servizio deve aver installato java giusto?
Ecco ad esempio in linux il java non è installato nativamente quindi un utente alle prime armi si troverebbe in difficoltà.....
C'è invece la possibilità di adottare un linguaggio presente nativamente sia in windows che in linux? mi viene da pesare all'html però nn so se sia possibile.......
beh ma anche usando .NET devi avere installato .NET (su XP non è preinstallato).
ma mi pare di aver capito che tu vorresti fare un'applicazione web lato server, quindi in questo caso al client serve solo un browser.
se vuoi fare una cosa semplice e non hai particolari requisiti di sicurezza potresti pensare di usare PHP allora. forse trovi anche delle applicazioni già fatte visto che su PHP c'è una letteratura enorme.
usando la piattaforma java ci sarebbe jsp (richiede java solo sul server, non sul client) ma dipende da quello che devi fare.
khelidan1980
13-10-2008, 12:29
Stavo pensando....., ma se faccio un'applicazione java la posso far girare anche su una pagina web giusto?
Però a questo punto chi si connette alla mia pagina web per usufruire del servizio deve aver installato java giusto?
Ecco ad esempio in linux il java non è installato nativamente quindi un utente alle prime armi si troverebbe in difficoltà.....
C'è invece la possibilità di adottare un linguaggio presente nativamente sia in windows che in linux? mi viene da pesare all'html però nn so se sia possibile.......
io credo che se devi fare una pagine dinamica che estrae ed elabora dati da un db ,se è una cosa relativamente semplice la scelta migliore sia php
Ok dunque:
Ieri sera ho installato MySQL e ho creato il mio database.
Oggi nell'oretta scarsa di pausa pranzo ho abilitato l'accesso da qualunque postazione nella lan a mysql con 1 account.
Questa sera vorrei creare una banalissima applicazione che vada a leggere e scrivere i dati sul database.......
Ma se faccio un'applicazione server in java per renderlo usabile da chiunque nella lan dovrò anche installare e configurare Apache giusto?
Comunque io non ho esigenze particolari, voglio solo imparare a creare e gestire un database con mysql.
Nelle applicazioni che ho fatto fino ad ora ho sempre usato file di excel o access come "piattaforma di database" mi piacerebbe evolvermi usando mysql :)
Ok dunque:
Ieri sera ho installato MySQL e ho creato il mio database.
Oggi nell'oretta scarsa di pausa pranzo ho abilitato l'accesso da qualunque postazione nella lan a mysql con 1 account.
Questa sera vorrei creare una banalissima applicazione che vada a leggere e scrivere i dati sul database.......
Ma se faccio un'applicazione server in java per renderlo usabile da chiunque nella lan dovrò anche installare e configurare Apache giusto?
Comunque io non ho esigenze particolari, voglio solo imparare a creare e gestire un database con mysql.
Nelle applicazioni che ho fatto fino ad ora ho sempre usato file di excel o access come "piattaforma di database" mi piacerebbe evolvermi usando mysql :)
allora se vuoi usare pagine jsp dovresti installare tomcat, mentre se vuoi usare pagine php allora installa apache.
io ti consiglio di provare PHP perchè comunque usare pagine JSP richiede più conoscenze da imparare. poi vedi te ;)
Oppure lo puoi inserire nelle pagine web (html o quel che vuoi) come applet...
Però se vuoi utilizzare tutto da browser anche io ti consiglio php. Se l'eventuale server web avrà solo quel compito ti consiglio di usare lighttp+php (magari solo con le estensioni base e php5-mysqli -con la i finale-): più leggero, semplice e reattivo di Apache.
Oppure lo puoi inserire nelle pagine web (html o quel che vuoi) come applet...
Però se vuoi utilizzare tutto da browser anche io ti consiglio php. Se l'eventuale server web avrà solo quel compito ti consiglio di usare lighttp+php (magari solo con le estensioni base e php5-mysqli -con la i finale-): più leggero, semplice e reattivo di Apache.
Ecco l'utilizzo dell'applet lo voglio proprio escludere!
Vorrei creare un sistema che pure usando una distribuzione linux su chiavetta con niente installato riesca ad utilizzare l'interfaccia per mezzo di un browser.....
Cedo che procederò con l'installazione di apache così che mi permetta di sviluppare molte più cose (un passo per volta :D )
E poi usare il php per la semplicità rispetto a java (visto che di cose da imparare ne avrò già un bel po' :p
Come ambiente di sviluppo pensavo allora a http://www.netbeans.org/ può andar bene? ovviamente scaricherei la versione da 200Mb almeno ho tutto :sofico: :D
Brigante
13-10-2008, 13:41
Python! :)
khelidan1980
13-10-2008, 13:42
Ecco l'utilizzo dell'applet lo voglio proprio escludere!
Vorrei creare un sistema che pure usando una distribuzione linux su chiavetta con niente installato riesca ad utilizzare l'interfaccia per mezzo di un browser.....
Cedo che procederò con l'installazione di apache così che mi permetta di sviluppare molte più cose (un passo per volta :D )
E poi usare il php per la semplicità rispetto a java (visto che di cose da imparare ne avrò già un bel po' :p
Come ambiente di sviluppo pensavo allora a http://www.netbeans.org/ può andar bene? ovviamente scaricherei la versione da 200Mb almeno ho tutto :sofico: :D
Ma per php?Non so se esistano plugins,io per php sempre su linux intendo usato eclipse configurato a puntino,avevo una guida ma non la trovo più!
khelidan1980
13-10-2008, 13:43
Python! :)
no anche qui!!L'infezione dilaga....:asd:
Brigante
13-10-2008, 13:50
no anche qui!!L'infezione dilaga....:asd:
:Prrr:
no anche qui!!L'infezione dilaga....:asd:
:confused:
Questo mi sfugge....... cosa vuol dire Python? cioè so che è un linguaggio di programmazione, ma è adottabile anche per altre piattaforme tipo windows?
khelidan1980
13-10-2008, 14:05
:confused:
Questo mi sfugge....... cosa vuol dire Python? cioè so che è un linguaggio di programmazione, ma è adottabile anche per altre piattaforme tipo windows?
certo...almeno su Linux/win/mac ma credo pure solaris bsd ecc... ;) però se opti per python credo avrai bisogno per forza di apache,io penso che la soluzione più semplice rimanga php per quanto
Brigante
13-10-2008, 14:10
:confused:
Questo mi sfugge....... cosa vuol dire Python? cioè so che è un linguaggio di programmazione, ma è adottabile anche per altre piattaforme tipo windows?
Certo! Python è multipiattaforma. Può girare anche sotto IIS. Io avevo fatto qualche prova sotto il web server Aspen, funziona bene. Non posso aggiungere altro, non sono un programmatore web di provata esperienza.
Vabbè allora visto che ci siamo... Ruby! (in questo caso senza le rails mi sa...) :D
:cry: :cry: :D
Dunque alla fine ho installato NetBeans IDE 6.1, devo ammettere che è veramente molto bello coma ambiente di sviluppo.
Sto cercando di fare un'applicazione java desktop, però nel wizard mi chiede se deve connettersi ad Database mysql, imposto tutti i parametri correttamente, mi da la conferma di avvenuta connessione, però nn mi fa settare le table così il wizard non procede fino alla fine e l'unica opzione possibile è cancel :muro:
Quindi ho anche provato a creare un'applicazione java senza connessione al database, ma googlando nn sono riuscito a trovare una sequenza semplice e chiara di come attivare la connessione......
Chiedo aiuto :mc:
per applicazioni java desktop qui trovi documentazione http://java.sun.com/javase/technologies/database/
qui un tutorial http://java.sun.com/docs/books/tutorial/jdbc/
greeneye
13-10-2008, 20:58
Vabbè allora visto che ci siamo... Ruby! (in questo caso senza le rails mi sa...) :D
ma anche con rails ...... in poco tempo con lo scaffolding avrebbe qualcosa di usabile
:cry:
sono nel panico + assoluto.....
Io ho creato il progetto un un tasto che premendolo vorrei far stabilire la connessione al database presente su un server.....
questo è quanto trovo in Source
/*
* DesktopApplication4View.java
*/
package desktopapplication4;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;
/**
* The application's main frame.
*/
public class DesktopApplication4View extends FrameView {
public DesktopApplication4View(SingleFrameApplication app) {
super(app);
initComponents();
// status bar initialization - message timeout, idle icon and busy animation, etc
ResourceMap resourceMap = getResourceMap();
int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
messageTimer = new Timer(messageTimeout, new ActionListener() {
public void actionPerformed(ActionEvent e) {
statusMessageLabel.setText("");
}
});
messageTimer.setRepeats(false);
int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
for (int i = 0; i < busyIcons.length; i++) {
busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
}
busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
public void actionPerformed(ActionEvent e) {
busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
}
});
idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
// connecting action tasks to status bar via TaskMonitor
TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
String propertyName = evt.getPropertyName();
if ("started".equals(propertyName)) {
if (!busyIconTimer.isRunning()) {
statusAnimationLabel.setIcon(busyIcons[0]);
busyIconIndex = 0;
busyIconTimer.start();
}
progressBar.setVisible(true);
progressBar.setIndeterminate(true);
} else if ("done".equals(propertyName)) {
busyIconTimer.stop();
statusAnimationLabel.setIcon(idleIcon);
progressBar.setVisible(false);
progressBar.setValue(0);
} else if ("message".equals(propertyName)) {
String text = (String)(evt.getNewValue());
statusMessageLabel.setText((text == null) ? "" : text);
messageTimer.restart();
} else if ("progress".equals(propertyName)) {
int value = (Integer)(evt.getNewValue());
progressBar.setVisible(true);
progressBar.setIndeterminate(false);
progressBar.setValue(value);
}
}
});
}
@Action
public void showAboutBox() {
if (aboutBox == null) {
JFrame mainFrame = DesktopApplication4.getApplication().getMainFrame();
aboutBox = new DesktopApplication4AboutBox(mainFrame);
aboutBox.setLocationRelativeTo(mainFrame);
}
DesktopApplication4.getApplication().show(aboutBox);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
mainPanel = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
menuBar = new javax.swing.JMenuBar();
javax.swing.JMenu fileMenu = new javax.swing.JMenu();
javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
javax.swing.JMenu helpMenu = new javax.swing.JMenu();
javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
statusPanel = new javax.swing.JPanel();
javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
statusMessageLabel = new javax.swing.JLabel();
statusAnimationLabel = new javax.swing.JLabel();
progressBar = new javax.swing.JProgressBar();
mainPanel.setName("mainPanel"); // NOI18N
org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(desktopapplication4.DesktopApplication4.class).getContext().getResourceMap(DesktopApplication4View.class);
jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
jButton1.setName("jButton1"); // NOI18N
org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
mainPanel.setLayout(mainPanelLayout);
mainPanelLayout.setHorizontalGroup(
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.addContainerGap()
.add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 227, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(161, Short.MAX_VALUE))
);
mainPanelLayout.setVerticalGroup(
mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(mainPanelLayout.createSequentialGroup()
.add(30, 30, 30)
.add(jButton1)
.addContainerGap(199, Short.MAX_VALUE))
);
menuBar.setName("menuBar"); // NOI18N
fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
fileMenu.setName("fileMenu"); // NOI18N
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(desktopapplication4.DesktopApplication4.class).getContext().getActionMap(DesktopApplication4View.class, this);
exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
exitMenuItem.setName("exitMenuItem"); // NOI18N
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
helpMenu.setName("helpMenu"); // NOI18N
aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
aboutMenuItem.setName("aboutMenuItem"); // NOI18N
helpMenu.add(aboutMenuItem);
menuBar.add(helpMenu);
statusPanel.setName("statusPanel"); // NOI18N
statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
statusMessageLabel.setName("statusMessageLabel"); // NOI18N
statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
progressBar.setName("progressBar"); // NOI18N
org.jdesktop.layout.GroupLayout statusPanelLayout = new org.jdesktop.layout.GroupLayout(statusPanel);
statusPanel.setLayout(statusPanelLayout);
statusPanelLayout.setHorizontalGroup(
statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
.add(statusPanelLayout.createSequentialGroup()
.addContainerGap()
.add(statusMessageLabel)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 216, Short.MAX_VALUE)
.add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
.add(statusAnimationLabel)
.addContainerGap())
);
statusPanelLayout.setVerticalGroup(
statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(statusPanelLayout.createSequentialGroup()
.add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.add(statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(statusMessageLabel)
.add(statusAnimationLabel)
.add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(3, 3, 3))
);
setComponent(mainPanel);
setMenuBar(menuBar);
setStatusBar(statusPanel);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JPanel mainPanel;
private javax.swing.JMenuBar menuBar;
private javax.swing.JProgressBar progressBar;
private javax.swing.JLabel statusAnimationLabel;
private javax.swing.JLabel statusMessageLabel;
private javax.swing.JPanel statusPanel;
// End of variables declaration
private final Timer messageTimer;
private final Timer busyIconTimer;
private final Icon idleIcon;
private final Icon[] busyIcons = new Icon[15];
private int busyIconIndex = 0;
private JDialog aboutBox;
}
Ora.... come e dove la metto la routine per connettersi al database? che in teoria dovrebbe essere questa (presa dal link postato da k0nt3 [Grazie])
InitialContext ic = new InitialContext()
DataSource ds = ic.lookup("java:comp/env/jdbc/myDB");
Connection con = ds.getConnection();
DataSource ds = (DataSource) org.apache.derby.jdbc.ClientDataSource()
ds.setPort(1527);
ds.setHost("localhost");
ds.setUser("APP")
ds.setPassword("APP");
Connection con = ds.getConnection();
:D
Ok aggiornamento.............
Dunque alla fine ho optato per NetBeans e come linguaggio ho adottato Ruby, il java proprio nn lo comprendo :muro: :cry:
Mentre in Ruby mi rivedo lo stile Visual Basic.....:stordita:
Finalmente sono riuscito a connettermi al mio Database MySQL e interagire con esso.
Ora devo capire come Creare l'interfaccia grafica :D :doh:
Altra cosa........ cosa ci posso fare Realmente con Ruby?!
Cioè intendo applicazioni web da far girare con apache?
greeneye
19-10-2008, 17:23
:D
Ok aggiornamento.............
...
Ora devo capire come Creare l'interfaccia grafica :D :doh:
Altra cosa........ cosa ci posso fare Realmente con Ruby?!
Cioè intendo applicazioni web da far girare con apache?
Per creare l'interfaccia grafica ci si appoggia ad un framework.
Tk http://www.rubycentral.com/book/ext_tk.html
GTK
FOX http://www.fxruby.org/ (la mia preferita)
WX http://wxruby.rubyforge.org/wiki/wiki.pl
In ogni modo datyo che stai usando jruby puoi sfuttare swing http://adaruby.com/2007/08/24/a-better-way-to-gui-ruby-apps/
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.