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

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

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MySQL

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

1回答

3135閲覧

xamarin.formsでMySqlに接続したいです

odaidai

総合スコア5

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

MySQL

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

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2020/06/03 09:22

編集2020/06/03 09:25

windows10のvisual studio2019でxamarin.formsを使ってandroidとiOSのクロスプラットフォーム開発をしようとしています。
インストールして間もない初心者です。

メインページのc#のプログラムからMySqlに接続をしようとして以下をやってみましたが、以下プログラムのMySqlConnectionの部分だけ波線がかかってしまいます。
xamlにはclicked='onClick'のbuttonコントローラーのみが置いてあります。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using MySql.Data.MySqlClient; namespace プロジェクト名 { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } public void onClick(object sender,EventArgs e) { try{ MySqlConnection cn = new MySqlConnection(" server=ドメイン; dbname=データベース名; id=root; password=パスワート;"); }catch(...

ソリューションエクスプローラーの3つのプロジェクト(プロジェクト名,プロジェクト名.Android,プロジェクト名.iOs)
のそれぞれのNuGetでMysql.Dataをインストールしました。
あと、MySQL for Visual Studioは拡張機能の一覧に入っていました。
参考:http://job-is.jp/blog/archives/1652

ほかに、ADO.NET Driver for MySqlをインストールして、参照の追加という方法をも試してみたのですが、「参照マネージャー」->「アセンブリ」の一覧にMySql.Dataが現れませんでした。
参考:https://apicodes.hatenablog.com/entry/c-sharp-mysql

2ヶ月程まえにプログラミングを始め、すっとphpでウェブアプリを作成していたので、あまりの難しさに驚いております。
どうかご容赦くださいますようお願い致します。

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

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

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

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

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

hoshi-takanori

2020/06/03 10:20

モバイル機器からインターネット経由で直接 MySQL データベースに接続を許可するのはセキュリティ上危険なので、PHP などで Web API を実装して、それ経由で接続するのが一般的だと思います。
odaidai

2020/06/03 12:05

ご回答ありがとうございます。 なるほど、そうなのですね。 APIの実装について勉強します。
guest

回答1

0

現状は、以下画像のような赤の波線が出ていますか?
NGパターン

そうであれば、C#の文字列の扱い方を誤っている可能性があります。
1行で書く場合と複数行に分けて書く場合の画像を以下に添付しています。
複数行に分けて書きたい場合、文字列同士を結合するために+を記述してください。
OKパターン

また、@"ここに接続文字列"のように@を先頭に付ければ、ソースに書き込んだ状態の文字列を扱うことができます。
C#のヒアドキュメントで変数を展開する

Mysql.Dataについては、NuGetからインストール済であれば、参照の追加など他の操作不要で使用できると思います。

投稿2020/06/03 10:30

編集2020/06/03 12:36
takapi_cs

総合スコア349

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

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

odaidai

2020/06/03 12:00

ご回答本当にありがとうございます。 はい、そのような赤い波線です。しかしMySqlConnectionのみにかっかっております。 mysqlの公式リファレンスのC#の例をそのままコピーペーストしてみましたが、やはりMySqlConnectionのみに波線がかかってしまいます。 リファレンス:(http://download.nust.na/pub6/mysql/doc/refman/5.1/ja/connector-net-examples-mysqlconnection.html) NuGetからインストール済みであればよいということが知れて少し混乱が落ち着きました。
odaidai

2020/06/03 12:08

(すいません、上記のリファレンスのリンクの閉じ括弧が邪魔でした...)
退会済みユーザー

退会済みユーザー

2020/06/04 00:35

> mysqlの公式リファレンスのC#の例をそのままコピーペーストしてみましたが、 どこですか? 見当たりませんが? とにかく、質問文のコードの文字列の書き方は間違いですよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問