0

よし、form1 と form2 の 2 つのフォームを作成しました。Form1s コードは次のようになります。

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;
using System.Security.Cryptography;
using System.Data.SqlClient;

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

    private void nsButton1_Click(object sender, EventArgs e)
    {
        try
        {
            SHA1HASH();
            string myConnection = "datasource=localhost;port=3306;username=encrypti_dropem;password=PASSWORD";
            MySqlConnection myConn = new MySqlConnection(myConnection);

            MySqlCommand SelectCommand = new MySqlCommand("select * from encrypti_dropem.users where username='" + this.username_txt.Text + "' and password='" + password_txt.Text + "' ;", myConn);

            MySqlDataReader myReader;
            myConn.Open();
            myReader = SelectCommand.ExecuteReader();
            int count = 0;
            while (myReader.Read())
            {
                count = count + 1;
            }
            if (count == 1)
            {
                Stresser hub = new Stresser(username_txt.Text);
                this.Hide();
                hub.Show();
            }
            else if (count > 1)
            {
                MessageBox.Show("Database error code: 1");
            }
            else
                MessageBox.Show("Invalid Username or Password");
            myConn.Close();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);

        }
    }
    public void SHA1HASH()
    {
        SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
        UTF8Encoding utf8 = new UTF8Encoding();
        string rpassword = BitConverter.ToString(sha1.ComputeHash(utf8.GetBytes(password_txt.Text)));
        string lpassword = rpassword.Replace("-", "");
        password_txt.Text = String.Empty;
        password_txt.Text = lpassword;
    }
}
}

そのため、ログインし、ユーザー名を form2 に渡します (現時点では)。このコードを使用してユーザーのランクを取得し、それを直接渡そうとしましたが、わかりません..

string myConnection =  datasource=localhost;port=3306;username=encrypti_dropem;password=PASSWORD";       
            MySqlConnection myCon = new MySqlConnection(myConnection);
            MySqlCommand SelectCommand = new MySqlCommand("select * from         encrypti_dropem.users where username='" + label9.Text + "';", myCon);
            MySqlDataReader reader2;
            myCon.Open();
            reader2 = SelectCommand.ExecuteReader();
            while (reader2.Read())
            {
                string rankid = reader2.GetString("rank");              
            }
            myCon.Close();

フォーム間でのデータの受け渡しなど、C# を学習しようとしたときに多くのことを逃したように感じます。誰もが私が正しい方向に進むのを助けようとします.

TLDR; 文字列のランク ID (フォーム 1 で取得) をフォーム全体でフォーム 2 で使用できるようにする必要があります。

4

1 に答える 1