0

您好,我正在使用 c# 构建一个应用程序以连接到远程 mysql 服务器。

这是代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace login
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        } 

        private void button1_Click(object sender, EventArgs e)
        {
            if (tryLogin(textBox1.Text, textBox2.Text) == true)
            {
                MessageBox.Show("Authed!");
            }
            else
            {
                MessageBox.Show("Auth Failure.");

            }

        }
        public bool tryLogin(string username, string password)
        {
MySqlConnection con = new MySqlConnection("host=myhostname;user=myusername;password=mypassword;database=mydatabase;");
MySqlCommand cmd = new MySqlCommand("SELECT * FROM test WHERE username = '" + username + "' AND password = '" + password + "';");
            cmd.Connection = con;
            con.Open();
            MySqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read() != false)
            {
                if (reader.IsDBNull(0) == true)
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return false;
                }
                else
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return true;

                }
            }
            else
            {
                return false;
            }
        }
    }
}

它显示以下错误:

“溢出异常未处理

算术运算导致溢出"

我在这里没有使用任何算术运算。有什么帮助吗???

4

1 回答 1

0

检查中的testmysql server

username确保所有字段在和password列中都有有效值。

更新

尝试在"Use Pipe=false;"您的连接字符串中包含该选项。然后它将很好地打开连接。

我希望这对你有帮助。

于 2013-01-16T13:19:01.497 回答