X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPInsertRowPage.java b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPInsertRowPage.java index cfceda7..47e479f 100644 --- a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPInsertRowPage.java +++ b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPInsertRowPage.java @@ -1,5 +1,8 @@ package net.sourceforge.phpdt.sql.wizards; +import java.text.MessageFormat; + +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -10,107 +13,125 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import net.sourceforge.phpdt.sql.sql.MultiSQLServer; +import net.sourceforge.phpdt.sql.PHPEclipseSQLPlugin; import net.sourceforge.phpdt.sql.sql.TableRow; +import net.sourceforge.phpdt.sql.view.PHPSourceConsole; import net.sourceforge.phpdt.sql.view.tableview.TableAdapter; public class PHPInsertRowPage extends WizardPage implements SQLPage { - TableRow row; - String[] columnNames; - Text[] values; - Label query; - public PHPInsertRowPage(String pageName) { - super(pageName); - } + TableRow row; + String[] columnNames; + Text[] values; + Label query; + private IPreferenceStore fStore; + + public PHPInsertRowPage(String pageName) { + super(pageName); + } + + public void init(TableRow row, TableAdapter adapter) { + this.row = row; + } + + public void createControl(Composite parent) { + System.out.println("page create control"); + fStore = PHPEclipseSQLPlugin.getDefault().getPreferenceStore(); + Composite container = new Composite(parent, SWT.NULL); + GridLayout layout = new GridLayout(); + container.setLayout(layout); + int layoutColumns = 2; + layout.numColumns = layoutColumns; + + if (row == null) { + System.out.println("Row is null"); + } + if (row.getColumnNames() == null) { + System.out.println("Columns are null"); + } + if (row.getTableData() == null) { + System.out.println("Data is null"); + } + columnNames = row.getColumnNames(); + String[] data = row.getTableData(); + for (int i = 0; i < row.getColumnCount(); i++) { + System.out.println("data = " + i + "=" + data[i]); + System.out.println("column = " + i + "=" + columnNames[i]); + } + values = new Text[row.getColumnCount()]; + Label temp = new Label(container, SWT.NULL); + temp.setText("Column Name"); + temp = new Label(container, SWT.NULL); + temp.setText("Value"); + for (int i = 0; i < row.getColumnCount(); i++) { + Label label = new Label(container, SWT.NULL); + label.setText(columnNames[i]); + values[i] = new Text(container, SWT.BORDER | SWT.SINGLE); + GridData fullHorizontal = new GridData(); + fullHorizontal.horizontalAlignment = GridData.FILL; + values[i].setLayoutData(fullHorizontal); - public void init(TableRow row, TableAdapter adapter) { - this.row = row; - } + //values[i].setText(data[i]); + values[i].addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + updateQuery(); + } + }); + } + query = new Label(container, SWT.WRAP); + GridData gridData = new GridData(); + gridData.horizontalSpan = layoutColumns; + gridData.horizontalAlignment = GridData.FILL; + gridData.verticalAlignment = GridData.FILL; + gridData.grabExcessHorizontalSpace = true; + gridData.grabExcessVerticalSpace = true; + query.setLayoutData(gridData); - public void createControl(Composite parent) { - if (DEBUG) { - System.out.println("page create control"); - } - Composite container = new Composite(parent, SWT.NULL); - GridLayout layout = new GridLayout(); - container.setLayout(layout); - int layoutColumns = 2; - layout.numColumns = layoutColumns; + setControl(container); + updateQuery(); - if (DEBUG) { - if (row == null) { - System.out.println("Row is null"); - } - if (row.getColumnNames() == null) { - System.out.println("Columns are null"); - } - if (row.getTableData() == null) { - System.out.println("Data is null"); - } - } - columnNames = row.getColumnNames(); - String[] data = row.getTableData(); - if (DEBUG) { - for (int i = 0; i < row.getColumnCount(); i++) { - System.out.println("data = " + i + "=" + data[i]); - System.out.println("column = " + i + "=" + columnNames[i]); - } - } - values = new Text[row.getColumnCount()]; - Label temp = new Label(container, SWT.NULL); - temp.setText("Column Name"); - temp = new Label(container, SWT.NULL); - temp.setText("Value"); - for (int i = 0; i < row.getColumnCount(); i++) { - Label label = new Label(container, SWT.NULL); - label.setText(columnNames[i]); - values[i] = new Text(container, SWT.BORDER | SWT.SINGLE); - GridData fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - values[i].setLayoutData(fullHorizontal); + setPageComplete(true); + } + public void updateQuery() { + System.out.println("Updating insert query"); + StringBuffer fieldClause = new StringBuffer(); - //values[i].setText(data[i]); - values[i].addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - updateQuery(); - } - }); - } - query = new Label(container, SWT.WRAP); - GridData gridData = new GridData(); - gridData.horizontalSpan = layoutColumns; - gridData.horizontalAlignment = GridData.FILL; - gridData.verticalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - query.setLayoutData(gridData); + StringBuffer valuesClause = new StringBuffer(); + String text; + boolean first = false; + for (int i = 0; i < columnNames.length; i++) { + text = values[i].getText(); + if (!text.equals("")) { + if (first) { + valuesClause.append(", "); + fieldClause.append(", "); + } + valuesClause.append("'" + values[i].getText() + "'"); + fieldClause.append(columnNames[i]); + first = true; + } + } + // if (valuesClause.length() > 1) { + // valuesClause.deleteCharAt(valuesClause.length() - 1); + // valuesClause.deleteCharAt(valuesClause.length() - 1); + // } + String[] arguments = + { row.getTable(), fieldClause.toString(), valuesClause.toString()}; + MessageFormat form = + new MessageFormat( + fStore.getString("phpeclipse.sql.insert.template")); - setControl(container); - updateQuery(); + String query = form.format(arguments); - setPageComplete(true); - } - public void updateQuery() { - if (DEBUG) { - System.out.println("Updating query"); - } - StringBuffer valuesClause = new StringBuffer(); - for (int i = 0; i < columnNames.length; i++) { - valuesClause.append(values[i].getText()); - valuesClause.append(", "); - } - if (valuesClause.length() > 1) { - valuesClause.deleteCharAt(valuesClause.length() - 1); - valuesClause.deleteCharAt(valuesClause.length() - 1); - } - String query = "INSERT INTO " + row.getTable(); - query += " VALUES (" + valuesClause.toString(); - query += " )"; - this.query.setText(query); - } - public boolean performFinish() { - MultiSQLServer server = MultiSQLServer.getInstance(); - server.execute(query.getText()); - return true; - } + // String query = "$results = mysql_query(\"INSERT INTO " + row.getTable() + " ("; + // query += fieldClause.toString() + ") "; + // query += " VALUES (" + valuesClause.toString(); + // query += ")\");"; + this.query.setText(query); + } + public boolean performFinish() { + PHPSourceConsole console = PHPSourceConsole.getInstance(); + console.clear(); + console.print(query.getText()); + return true; + } } \ No newline at end of file