Необработанное исключение: System.FormatException: Guid должен содержать 32 цифры с 4 штрихами (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) - PullRequest
0 голосов
/ 23 февраля 2020

Я проверяю соединение для онлайновой базы данных для Xamarin. android но эта ошибка продолжает появляться .. Я планирую подключить ее к базе данных ar asp pi для моего исследовательского проекта .. Справка по программе

using Android.App;
using Android.OS;
using Android.Widget;
using MySql.Data.MySqlClient;
using System;
using System.Data;

namespace sqq
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : Activity
{
    private EditText urs, pss;
    private Button sin;
    private TextView suc;
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        SetContentView(Resource.Layout.activity_main);


        sin = FindViewById<Button>(Resource.Id.button1);
        urs = FindViewById<EditText>(Resource.Id.textView1);
        pss = FindViewById<EditText>(Resource.Id.textView2);
        suc = FindViewById<TextView>(Resource.Id.textView3);

        sin.Click += Sin_Click;

    }
    private void Sin_Click(object sender, EventArgs e)
    {
        MySqlConnection con = new MySqlConnection("Server=db4free.net; Port=3306;       Database=rolandvill; User Id=roland11; Password=roland123;charset=utf8");

        try
        {

            if (con.State == ConnectionState.Closed)
            {

                con.Open();
                suc.Text = "Success";

            }
        }
        catch (MySqlException ex)
        {
            suc.Text = ex.ToString();

        }
        finally
        {
            con.Close();
        }

    }
}
}

Я пробовал все решения, которые видел здесь, но ни одно из них не работает.

здесь, где происходит ошибка enter image description here

вот код для моего Activity_main.a xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
    <EditText
    android:text="UserName"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minWidth="25px"
    android:minHeight="25px"
    android:id="@+id/textView1" />
<EditText
    android:text="Password"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/textView1"
    android:id="@+id/textView2" />
<Button
    android:text="Button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/textView2"
    android:id="@+id/button1" />
<TextView
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/button1"
    android:id="@+id/textView3" />

 </RelativeLayout>

1 Ответ

0 голосов
/ 27 февраля 2020

Ссылаясь на более раннюю запись здесь и mysql сообщение об ошибке

Добавление 'OldGuids = True;' в строку подключения работает:

MySqlConnection con = new MySqlConnection("Server=db4free.net; Port=3306;       Database=rolandvill; User Id=roland11; Password=roland123;OldGuids=True;charset=utf8");

Также, как сказал @Bradley Grainger, добавив OldGuids = true, вы должны знать, что любой столбец BINARY (16) будет возвращен как Guid, а не как байт [ ].

...