У меня есть приложение C# с базой данных MYSQL. Я была работа без каких-либо проблем, но вдруг проблема появляется:Подключение к базе данных MYSQL с использованием C#
Первый шанс исключение типа «MySql.Data.MySqlClient.MySqlException» произошло в MySql.Data.dll
я не изменял ни в чем моя программа !!, также я проверил соединение с PHP-страницы, и это работа без проблем, проблема просто появилась в моем приложении C#. В разделе catch я изменил его на: ee.HResult вместо «ee.message», и я получил этот номер: -2147467259 .. !! Вот код:
public static string conString = "";
public MySqlConnection objConn;
string server = "www.******.com";
string database = "******";
string uid = "******";
string password = "******";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
conString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + "; CharSet=utf8;";
objConn = new MySqlConnection(conString);
objConn.Open();
MySqlCommand cmd = new MySqlCommand("select * from sett", objConn);
MySqlDataReader dataReader = cmd.ExecuteReader();
dataReader.Read();
int x = int.Parse(dataReader.GetDecimal(0).ToString());
MessageBox.Show(x.ToString());
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}
Вы считаете рефакторинг кода и не используете 'dataReader.GetDecimal (0) .ToString()' что, если поле не является десятичным в позиции 0, поэтому почему бы не изменить его как фактическое имя поля базы данных, (строка) dataReader ["yourfieldname"] 'попробуйте сделать шаг через код также – MethodMan
Проблема не в коде, я уверен ... потому что я ничего не изменил! также, в другом пробовал в другом старом приложении, подключенном к той же базе данных, той же проблемой. Он появляется в: objConn.Open(); –
Я думаю, что вам не хватает моей точки. Это не то, что вы изменили ... но что, если структура таблицы изменилась ... поэтому лучше, на мой взгляд, назначить значения из datareader, обратившись к ней по имени своего поля, а не это индексированная позиция .. звучит так, как будто вы сталкиваетесь с проблемой преобразования типа данных .. попробуйте изменить ее и отладить ее, если это имеет значение. Что изменит ее боль ... – MethodMan