🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

2038閲覧

データベースで複数の項目を設定したいが、引数の数が一致しないエラーが出てしまう。

Yamamoto2020

総合スコア3

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

2クリップ

投稿2021/01/04 03:12

編集2021/01/04 04:20

Java

1package com.websarva.wings.android.test; 2 3import android.content.ContentValues; 4import android.content.Context; 5import android.database.sqlite.SQLiteDatabase; 6import android.database.sqlite.SQLiteOpenHelper; 7 8public class TouristAttractionsDataTestSQLiteOpenHelper extends SQLiteOpenHelper{ 9 private static final int DATABASE_VERSION = 1; 10 private static final String DATABASE_NAME = "TouristAttractionsDB"; 11 private static final String TABLE_NAME = "touristattractionsdb"; 12 private static final String _ID = "_id"; 13 private static final String COLUMN_NAME_NAME ="name"; 14 private static final String COLUMN_NAME_ADDRESS = "address"; 15 **private static final String COLUMN_NAME_CATEGORY = "category";** 16 private static final String SQL_CREATE_ENTRIES = 17 " CREATE TABLE " + TABLE_NAME + " (" + 18 _ID + " INTEGER PRIMARY KEY, " + 19 COLUMN_NAME_NAME + " TEXT," + 20 COLUMN_NAME_ADDRESS + " TEXT**, " + 21 COLUMN_NAME_CATEGORY + " TEXT " + " **) "; 22 23 private static final String SQL_DELETE_ENTRIES = " DROP TABLE IF EXISTS " + " TABLE_NAME "; 24 25 TouristAttractionsDataTestSQLiteOpenHelper(Context context){ 26 super(context, DATABASE_NAME, null, DATABASE_VERSION); 27 } 28 29 @Override 30 public void onCreate(SQLiteDatabase db){ 31 db.execSQL(SQL_CREATE_ENTRIES); 32 33 saveData(db, "草津温泉", "bsだhb"**, "温泉"**); 34 saveData(db, "水上温泉", "hdすあ"**, "温泉"**); 35 saveData(db, "草津熱帯園" ,"data"**, "動物園"**); 36 saveData(db, "群馬フラワーパーク" , "djgsk"**, "公園"**); 37 38 } 39 40 @Override 41 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ 42 db.execSQL(SQL_DELETE_ENTRIES); 43 onCreate(db); 44 } 45 46 public void onDowngrade(SQLiteDatabase db, String name, String address) { 47 ContentValues values = new ContentValues(); 48 values.put("name", name); 49 values.put("address", address); 50 51 db.insert("touristattractionsdb", null, values); 52 } 53 public void saveData(SQLiteDatabase db, String name, String address){ 54 ContentValues values = new ContentValues(); 55 values.put("name", name); 56 values.put("address", address); 57 58 db.insert("touristattractionsdb", null, values); 59 } 60} 61コード 62```名前や住所など複数の列を持ったデータベースを作成したいと考えています。ですが、タイトルにあったように引数が呼び出し側と呼び出し先とで数が一致しませんというコンパイルエラーが出てしまいます。 63,の箇所を変更したり打ち直したりしてみましたが、そのたびに別のコンパイルエラーメッセージが表示され困っています。お手間をおかけしますが、よろしくお願いいたします。 64 65 66**エラーメッセージは 67 saveData(db, "草津温泉", "bsだhb", "温泉"); 68 saveData(db, "水上温泉", "hdすあ", "温泉"); 69 saveData(db, "草津熱帯園" ,"data", "動物園"); 70 saveData(db, "群馬フラワーパーク" , "djgsk", "公園"); 71のそれぞれにExpected 3 arguments but found 4と表示されています。**

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

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

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

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

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

hoshi-takanori

2021/01/04 03:29

saveData メソッドに引数 category を追加すれば良いのでわ。
Yamamoto2020

2021/01/04 03:36

返信ありがとうございます。 実は逆で、saveData(db, "群馬フラワーパーク" , "djgsk", "公園");をsaveData(db, "群馬フラワーパーク" , "djgsk");にと、引数categoryを削除したらエラーが出なくなるんです。 ただ、それは追加できなくなるという点で困るので、追加する方向へ修正できたらと考えています。 private static final String SQL_CREATE_ENTRIES = " CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY, " + COLUMN_NAME_NAME + " TEXT," + COLUMN_NAME_ADDRESS + " TEXT ," + COLUMN_NAME_CATEGORY + " TEXT " + " ) "; このあたりに問題があるのではと考えているのですが、修正をいろいろ試してみてもダメで何が問題なのかわかりません。
m.ts10806

2021/01/04 03:40

コードはマークダウンのcode機能を利用してご提示ください。 あと、SQLの問題であれば直に実行して想定の結果を得られるSQLをまず作れてからアプリケーションに埋め込まれたほうが今回のようなトラブルは減ると思います。
Yamamoto2020

2021/01/04 03:46

マークダウンのcode機能というのは最初に質問する時に記入するところでいいでしょうか?その場合でしたら先ほど記述したコードは上記の一部に記述してあります。 SQLの問題だと思いますが、一回想定の結果を得られたものに列を追加しようとしたらエラーが出たという状態です。 新規に追加したものを太字にした方がいいでしょうか?
m.ts10806

2021/01/04 03:51

マークダウンについてはヘルプページや他の質問、回答を見てください。 特にコード部分は平で提示されてもインデントがなかったり本文との境目がなかったりシンタックスハイライトがなかったり、読みづらいのです。 ヤフー知恵袋と違い、こちらはプログラミング特化のQAサービスなので、質問を読みやすく伝わりやすくするための機能が備わっています。 コードがマークダウンで提示されていないと読む気がしない…という回答者も多いです。 質問は編集できますし、質問テンプレートもあります。「マークダウンの機能を利用したらどういう表示になるか」プレビュー確認もできます。
m.ts10806

2021/01/04 03:56

```ここに言語名 //ここにコード ``` ↑最後に改行
Yamamoto2020

2021/01/04 03:59

返信ありがとうございます。 初めてマークダウンの使い方ちょっとわかりました。 わざわざ指摘ありがとうございます。 そのように修正してみました。もし見にくかったら指摘お願いします。
m.ts10806

2021/01/04 04:17

可能なら冒頭言語名を入れたほうが良いですね。 例 ```Java //ここにコード ```
Yamamoto2020

2021/01/04 04:20

返信ありがとうございます。 冒頭言語名も追加しました。 また指導ありがとうございます。
guest

回答1

0

ベストアンサー

google翻訳
3つの引数が必要ですが、4つ見つかりました

とおっしゃってます。
saveDataの関数定義を確認しよう

投稿2021/01/04 04:03

y_waiwai

総合スコア88040

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

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

Yamamoto2020

2021/01/04 06:06 編集

関数定義を再確認したところ values.put("category", category); を追加していませんでした。従って追加してみた結果ところ無事にコンパイルエラーを通りました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問