![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Ruby 構文で三つのテーブルを作りたいのですが
この構文だと、どうしても最後のendのところで
エラーが出てしまいます。
どうすれば正常にテーブルを作成できるのでしょうか?
訂正箇所を教えてください。
require "sqlite3"
db = SQLite3::Database.new("database.db")
sql = "create table Sales (商品コード integer primary key, 商品名 text, メーカー nune)"
db.execute(sql)
puts "Itemテーブルを作成しました。"
db.transaction do
sql = "insert into Sales values (?, ?, ?)"
db.execute(sql, 1101, "鉛筆", "A3")
db.execute(sql, 1102, "クッキー", "B4")
db.execute(sql, 1103, "ケース", "C5")
sql = "create table Items (:メーカーコード nune, :カテゴリー text, :商品名 text)"
db.execute(sql)
puts "Itemテーブルを作成しました。"
db.transaction do
sql = "insert into Items values (?, ?, ?)"
db.execute(sql, "A3", "文房具", "鉛筆")
db.execute(sql, "B4", "食品", "クッキー")
db.execute(sql, "C5", "プラスチック", "ケース")
sql = "create table Order (:商品コード integer primary key, :商品名 text, :商品番号 integer, :メーカー nune)"
db.execute(sql)
puts "Orderテーブルを作成しました。"
db.transaction do
sql = "insert into Order values (?, ?, ?)"
db.execute(sql, 1101, "鉛筆", "1010", "A3")
db.execute(sql, 1102, "クッキー", "2010", "B4")
db.execute(sql, 1103, "ケース", "3010", "C5")
end
db.execute("select * from Sales") do | row |
db.execute("select * from Items") do | row |
db.execute("select * from Order") do | row |
puts row.join("\t")
end
db.close
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
doとendの対応がめちゃくちゃですよ。
とりあえず、動くようにしておきました。
---------------------------------------------
require "sqlite3"
db = SQLite3::Database.new("database.db")
sql = "create table Sales (商品コード integer primary key, 商品名 text, メーカー nune)"
db.execute(sql)
puts "Salesテーブルを作成しました。"
db.transaction do
sql = "insert into Sales values (?, ?, ?)"
db.execute(sql, 1101, "鉛筆", "A3")
db.execute(sql, 1102, "クッキー", "B4")
db.execute(sql, 1103, "ケース", "C5")
end
sql = "create table Items (メーカーコード nune, カテゴリー text, 商品名 text)"
db.execute(sql)
puts "Itemテーブルを作成しました。"
db.transaction do
sql = "insert into Items values (?, ?, ?)"
db.execute(sql, "A3", "文房具", "鉛筆")
db.execute(sql, "B4", "食品", "クッキー")
db.execute(sql, "C5", "プラスチック", "ケース")
end
sql = "create table Orders (商品コード integer primary key, 商品名 text, 商品番号 integer, メーカー nune)"
db.execute(sql)
puts "Orderテーブルを作成しました。"
db.transaction do
sql = "insert into Orders values (?, ?, ?, ?)"
db.execute(sql, 1101, "鉛筆", "1010", "A3")
db.execute(sql, 1102, "クッキー", "2010", "B4")
db.execute(sql, 1103, "ケース", "3010", "C5")
end
db.execute("select * from Sales") do | row |
puts row.join("\t")
end
db.execute("select * from Items") do | row |
puts row.join("\t")
end
db.execute("select * from Orders") do | row |
puts row.join("\t")
end
db.close
---------------------------------------
No.2
- 回答日時:
今後 Ruby を使って自力で何とかしていこうと思っているのであれば,
エラーメッセージの意味を理解する
ことは重要です.
そのエラーメッセージがなにを言っているのかわかりますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
例外処理
-
Function内でのMySQLデータベー...
-
VBAをつかってクエリの情報を抽...
-
Microsoft Access DBへの接続
-
Ruby構文で三つのテーブルを作...
-
PHPの記述で値が取れません。
-
DBから抜き出した値を表示する方法
-
SQL Serverからのvarchar型のデ...
-
php テーブルを作れない
-
phpのエラーについてです
-
Resource id #3 をフィールドの...
-
連想二次元配列のUNIXTIMEでの...
-
DBに入力されている値のセレ...
-
PHP 勤務時間の合計を出したい
-
sprintf関数での%Sが分かりませ...
-
XAMMPが起動しません。
-
PHP+MySQLで、日時を比較して抽...
-
出勤表の作り方
-
mysql_fetch_objectのエラー
-
excelvbaのリセットの仕方。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
テキストボックスに入れた内容...
-
エラー3011
-
SQL文が実行できません
-
SELECT文を発行して、ACCESSよ...
-
in 'where clause'のエラーの理由
-
phpのPEARのMDB2を使って出たエ...
-
Call to undefined method MDB2...
-
LocalのNotesメールDBをVBAで参...
-
PHP内でUPDATE構文を使用してい...
-
単純ですが、意外と穴?なデー...
-
DAOでデータベースを二つ開くに...
-
pearがエラーになる
-
見られたくないファイル
-
PEAR でprepareメソッドがエラーに
-
SQL文の実行に失敗しました???
-
年月の情報だけを基に階層構造...
-
例外処理
-
データ入力条件
おすすめ情報
Main.rb:38: syntax error, unexpected end-of-input, expecting keyword_end
db.close
^
このようなエラー文が出ます。
https://paiza.io/projects/J8_TUhHUVdCeRVI98nK2zQ