よし、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 で使用できるようにする必要があります。