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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

2787閲覧

stmt.executeUpdate();でエラー

RYOHEI1009

総合スコア45

MySQL

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2017/11/26 06:17

現在、mysqlにデータが格納されずにこまっています
エラーの原因はstmt.executeUpdate();であると記述されていますが、
SQL文がまちがっているのか、わかりません、、、
ご教授お願いします!!

権限はワイルドカードを与えています!

java

1package com.example.ryo.testtest; 2import java.sql.DriverManager; 3import android.app.Activity; 4import android.content.Intent; 5import android.graphics.Bitmap; 6import android.net.Uri; 7import android.provider.MediaStore; 8import android.support.v7.app.AppCompatActivity; 9import android.os.Bundle; 10import android.view.View; 11import android.widget.Button; 12import android.widget.ImageView; 13import java.io.*; 14import java.sql.Connection; 15import java.sql.PreparedStatement; 16import android.os.AsyncTask; 17import android.view.View.OnClickListener; 18import android.widget.Toast; 19import java.io.ByteArrayOutputStream; 20import java.io.IOException; 21 22 23import static android.content.ContentValues.TAG; 24public class MainActivity extends AppCompatActivity implements OnClickListener { 25 private static final int READ_REQUEST_CODE = 42; 26 ImageView imageView; 27 byte[] sendData; 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_main); 32 Button button2 = findViewById(R.id.button2); 33 Button button1 = this.findViewById(R.id.button1); 34 button1.setOnClickListener(this); 35 imageView = findViewById(R.id.imageView); 36 37 button2.setOnClickListener(new View.OnClickListener() { 38 //暗黙的Intentを使ってギャラリーアプリを選択し、画像のURIを取得 39 @Override 40 public void onClick(View v) {//ギャラリーから画像を選択するため 41 Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 42 intent.setType("image/*"); 43 startActivityForResult(intent, READ_REQUEST_CODE); 44 } 45 }); 46 } 47 //実際の画像(Bitmap)の取得 48 @Override//コンパイラのエラーなどを教えてくれる 49 public void onActivityResult(int requestCode, int resultCode, 50 Intent resultData) { 51 52 if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) { 53 Uri uri = null; 54 if (resultData != null) { 55 uri = resultData.getData(); 56 try { 57 Bitmap bmp = MediaStore.Images.Media.getBitmap(getContentResolver(), uri); 58 imageView.setImageBitmap(bmp); 59 //画像をバイナリ化している 60 ByteArrayOutputStream baos = new ByteArrayOutputStream(); 61 bmp.compress(Bitmap.CompressFormat.PNG, 100, baos); 62 sendData = baos.toByteArray(); 63 64 } catch (IOException e) { 65 e.printStackTrace(); 66 } 67 } 68 } 69 } 70 //後で書く 71 @Override 72 public void onClick(View v) { 73 if (v.getId() == R.id.button1) { // ボタン1が押下されたら 74 TaskDbInsert task1 = new TaskDbInsert(MainActivity.this); 75 task1.execute(); 76 } 77 } 78 class TaskDbInsert extends AsyncTask<Void, Void, Void> { 79 Activity activity = null; 80 // コンストラクタ 81 public TaskDbInsert(MainActivity act) { 82 activity = act; 83 } 84 @Override 85 protected Void doInBackground(Void... params) { 86 //入力部の定義 87 try { 88 Class.forName("com.mysql.jdbc.Driver"); 89 Connection conn = DriverManager.getConnection("jdbc:mysql://IPアドレス/images", "testuser", "PASSWORD"); 90 PreparedStatement stmt = conn.prepareStatement("insert into images.img (imgdat) values (?)"); 91 stmt.setBinaryStream(1,new ByteArrayInputStream(sendData), sendData.length); 92 stmt.executeUpdate(); 93 stmt.close(); 94 conn.close(); 95 } catch (Exception e){ 96 e.printStackTrace(); 97 } 98 return null; 99 } 100 protected void onPostExecute(){ 101 Toast.makeText(activity,"登録を終了しました", Toast.LENGTH_LONG).show(); 102 } 103 } 104}

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

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

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

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

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

masaya_ohashi

2017/11/27 04:53

せめてエラーメッセージを明記してください。「エラーがあります」では我々も原因を推測しずらいです。あと、同じ質問を新しく立てるのはお控えください。
guest

回答1

0

自己解決

SQL文に間違いがありました

投稿2017/12/01 07:36

RYOHEI1009

総合スコア45

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問