質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

982閲覧

MySQLを使用してストレージにテーブルを作成するJSファイルを作りたい

KSK8000

総合スコア17

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/06/14 04:01

前提・実現したいこと

MySQLを使用してストレージにテーブルを作成するJSファイルを作りたいと考えております。
その際、複数の画面でテーブルを共有し、ページごとに異なるカラムを入力する予定です。

ですが現在、テーブルを作成しようとしても失敗と出力されております。

該当のソースコード

javascript

1function init(){ 2 //データベースを開き、初期化を行う 3 db = openDatabase('AddressBook', '', 'AddressBook Database', 102400, function(db){ 4 db.transaction(function (t) { 5 //初期化用SQLの実行 6 t.executeSql( 7 'CREATE TABLE address_book(id INTEGER PRIMARY KEY AUTOINCREMENT, SIZE TEXT, CD TEXT, COLOR TEXT)'); 8 },function(error){ 9 //エラー時の処理 10 alert("エラーが発生しました。" + error.message); 11 },function(){ 12 //成功時の処理 13 alert("初期化成功"); 14 }); 15 }); 16 17function addRecordA(SIZE, CD) { 18 db.transaction(function(tx) { 19 tx.executeSql('INSERT INTO address_book(SIZE, CD) VALUES(?, CD,)', 20 [SIZE, CD], 21 function(tx, rs) { 22 alert("保存に成功しました"); 23 }, 24 function(error) { 25 alert("保存に失敗しました。原因:" + error.message); 26 }); 27 }); 28} 29 30function addRecordB(COLOR, CD) { 31 db.transaction(function(tx) { 32 tx.executeSql('INSERT INTO address_book(COLOR, CD) VALUES(?, ?)', 33 [COLOR, CD], 34 function(tx, rs) { 35 alert("保存に成功しました"); 36 }, 37 function(error) { 38 alert("保存に失敗しました。原因:" + error.message); 39 }); 40 }); 41} 42

試したこと

addRecordAとaddRecordBを使うそれぞれの画面では機能しており
キャッシュの削除なども行いましたが、解決はされておりません。
良い手法をご存知の方がいれば、ご教授願えないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2018/06/14 05:41

サーバーサイドのjsなのでしょうか?それともクライアントサイドでsqliteへの接続なのでしょうか?まさかクライアントのjsからサーバーのmysqlへの接続ではないですよね?
KSK8000

2018/06/14 05:49

>yambejp様 クライアントサイドでの接続です
guest

回答1

0

自己解決

極めて単純な話で、ページごとに入力するカラムが違っていても
jsファイル上でカラムを揃える必要があった、ということでした。

javascript

1function init(){ 2 //データベースを開き、初期化を行う 3 db = openDatabase('AddressBook', '', 'AddressBook Database', 102400, function(db){ 4 db.transaction(function (t) { 5 //初期化用SQLの実行 6 t.executeSql( 7 'CREATE TABLE address_book(id INTEGER PRIMARY KEY AUTOINCREMENT, SIZE TEXT, CD TEXT, COLOR TEXT)'); 8 },function(error){ 9 //エラー時の処理 10 alert("エラーが発生しました。" + error.message); 11 },function(){ 12 //成功時の処理 13 alert("初期化成功"); 14 }); 15 }); 16 17function addRecord(SIZE, CD, COLOR) { 18 db.transaction(function(tx) { 19 tx.executeSql('INSERT INTO address_book(SIZE, CD, COLOR) VALUES(?, ?, ?)', 20 [SIZE, CD, COLOR], 21 function(tx, rs) { 22 alert("保存に成功しました"); 23 }, 24 function(error) { 25 alert("保存に失敗しました。原因:" + error.message); 26 }); 27 }); 28} 29

投稿2018/06/14 10:10

KSK8000

総合スコア17

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問