Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Saving data in database using textbox and save button

New Here ,
Apr 30, 2015 Apr 30, 2015

Hello. I just want a help about my code because when i close the application the data that i add is not been saved.

Here is my code of save:

function saveData(event:MouseEvent):void

{

  status.text = "Saving data";

  insertStmt = new SQLStatement();

  insertStmt.sqlConnection = conn;

  var sql:String = "INSERT INTO employees (firstName, lastName, salary) VALUES (:param, :param1, :param2)";

  insertStmt.text = sql;

  insertStmt.parameters[":param"] = firstName.text;

  insertStmt.parameters[":param1"] = lastName.text;

  insertStmt.parameters[":param2"] = salary.text;

  insertStmt.addEventListener(SQLEvent.RESULT, insertResult);

  insertStmt.addEventListener(SQLErrorEvent.ERROR, insertError);

  insertStmt.execute();

}

Here is the full code:

import fl.data.DataProvider;

import flash.data.SQLResult;

import flash.data.SQLConnection;

import flash.filesystem.File;

import flash.data.SQLStatement;

import flash.data.SQLConnection;

var conn:SQLConnection;

var createStmt:SQLStatement;

var insertStmt:SQLStatement;

var insertStmt2:SQLStatement;

var insertStmt3:SQLStatement;

var selectStmt:SQLStatement;

var insert1Complete:Boolean = false;

var insert2Complete:Boolean = false;

saveBtn.addEventListener(MouseEvent.CLICK, saveData);

loadBtn.addEventListener(MouseEvent.CLICK, getData);

init();

function init():void

{

  conn = new SQLConnection();

  conn.addEventListener(SQLEvent.OPEN, openSuccess);

  conn.addEventListener(SQLErrorEvent.ERROR, openFailure);

  status.text = "Creating and opening database";

  // Use these two lines for an on-disk database

  // but be aware that the second time you run the app you'll get errors from

  // creating duplicate records.

// var dbFile:File = File.applicationStorageDirectory.resolvePath("DBSample.db");

// conn.openAsync(dbFile);

  // Use this line for an in-memory database

  conn.openAsync(null);

}

function openSuccess(event:SQLEvent):void

{

  conn.removeEventListener(SQLEvent.OPEN, openSuccess);

  conn.removeEventListener(SQLErrorEvent.ERROR, openFailure);

  createTable();

}

function openFailure(event:SQLErrorEvent):void

{

  conn.removeEventListener(SQLEvent.OPEN, openSuccess);

  conn.removeEventListener(SQLErrorEvent.ERROR, openFailure);

  status.text = "Error opening database";

  trace("event.error.message:", event.error.message);

  trace("event.error.details:", event.error.details);

}

function createTable():void

{

  status.text = "Creating table";

  createStmt = new SQLStatement();

  createStmt.sqlConnection = conn;

  var sql:String = "";

  sql += "CREATE TABLE IF NOT EXISTS employees (";

  sql += " empId INTEGER PRIMARY KEY AUTOINCREMENT,";

  sql += " firstName TEXT,";

  sql += " lastName TEXT,";

  sql += " salary NUMERIC CHECK (salary >= 0) DEFAULT 0";

  sql += ")";

  createStmt.text = sql;

  createStmt.addEventListener(SQLEvent.RESULT, createResult);

  createStmt.addEventListener(SQLErrorEvent.ERROR, createError);

  createStmt.execute();

}

function createResult(event:SQLEvent):void

{

  createStmt.removeEventListener(SQLEvent.RESULT, createResult);

  createStmt.removeEventListener(SQLErrorEvent.ERROR, createError);

  addData();

}

function createError(event:SQLErrorEvent):void

{

  status.text = "Error creating table";

  createStmt.removeEventListener(SQLEvent.RESULT, createResult);

  createStmt.removeEventListener(SQLErrorEvent.ERROR, createError);

  trace("CREATE TABLE error:", event.error);

  trace("event.error.message:", event.error.message);

  trace("event.error.details:", event.error.details);

}

function addData():void

{

  status.text = "Adding data to table";

  insertStmt = new SQLStatement();

  insertStmt.sqlConnection = conn;

  var sql:String = "";

  sql += "INSERT INTO employees (firstName, lastName, salary) ";

  sql += "VALUES ('Bob', 'Smith', 8000)";

  insertStmt.text = sql;

  insertStmt.addEventListener(SQLEvent.RESULT, insertResult);

  insertStmt.addEventListener(SQLErrorEvent.ERROR, insertError);

  insertStmt.execute();

  insertStmt2 = new SQLStatement();

  insertStmt2.sqlConnection = conn;

  var sql2:String = "";

  sql2 += "INSERT INTO employees (firstName, lastName, salary) ";

  sql2 += "VALUES ('John', 'Jones', 8200)";

  insertStmt2.text = sql2;

  insertStmt2.addEventListener(SQLEvent.RESULT, insertResult);

  insertStmt2.addEventListener(SQLErrorEvent.ERROR, insertError);

  insertStmt2.execute();

}

function insertResult(event:SQLEvent):void

{

  var stmt:SQLStatement = event.target as SQLStatement;

  stmt.removeEventListener(SQLEvent.RESULT, insertResult);

  stmt.removeEventListener(SQLErrorEvent.ERROR, insertError);

  if (stmt == insertStmt)

  {

  insert1Complete = true;

  }

  else

  {

  insert2Complete = true;

  }

  if (insert1Complete && insert2Complete)

  {

  status.text = "Ready to load data";

  }

}

function insertError(event:SQLErrorEvent):void

{

  status.text = "Error inserting data";

  insertStmt.removeEventListener(SQLEvent.RESULT, insertResult);

  insertStmt.removeEventListener(SQLErrorEvent.ERROR, insertError);

  trace("INSERT error:", event.error);

  trace("event.error.message:", event.error.message);

  trace("event.error.details:", event.error.details);

}

function getData(event:MouseEvent):void

{

  status.text = "Loading data";

  selectStmt = new SQLStatement();

  selectStmt.sqlConnection = conn;

  var sql:String = "SELECT empId, firstName, lastName, salary FROM employees";

  selectStmt.text = sql;

  selectStmt.addEventListener(SQLEvent.RESULT, selectResult);

  selectStmt.addEventListener(SQLErrorEvent.ERROR, selectError);

  selectStmt.execute();

}

function saveData(event:MouseEvent):void

{

  status.text = "Saving data";

  insertStmt = new SQLStatement();

  insertStmt.sqlConnection = conn;

  var sql:String = "INSERT INTO employees (firstName, lastName, salary) VALUES (:param, :param1, :param2)";

  insertStmt.text = sql;

  insertStmt.parameters[":param"] = firstName.text;

  insertStmt.parameters[":param1"] = lastName.text;

  insertStmt.parameters[":param2"] = salary.text;

  insertStmt.addEventListener(SQLEvent.RESULT, insertResult);

  insertStmt.addEventListener(SQLErrorEvent.ERROR, insertError);

  insertStmt.execute();

}

function selectResult(event:SQLEvent):void

{

  status.text = "Data loaded";

  selectStmt.removeEventListener(SQLEvent.RESULT, selectResult);

  selectStmt.removeEventListener(SQLErrorEvent.ERROR, selectError);

  var result:SQLResult = selectStmt.getResult();

  resultsGrid.dataProvider = new DataProvider(result.data);

// var numRows:int = result.data.length;

// for (var i:int = 0; i < numRows; i++)

// {

// var output:String = "";

// for (var prop:String in result.data)

// {

// output += prop + ": " + result.data[prop] + "; ";

// }

// trace("row[" + i.toString() + "]\t", output);

// }

}

function selectError(event:SQLErrorEvent):void

{

  status.text = "Error loading data";

  selectStmt.removeEventListener(SQLEvent.RESULT, selectResult);

  selectStmt.removeEventListener(SQLErrorEvent.ERROR, selectError);

  trace("SELECT error:", event.error);

  trace("event.error.message:", event.error.message);

  trace("event.error.details:", event.error.details);

}

TOPICS
ActionScript
725
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
no replies

Have something to add?

Join the conversation