C# newbie: ссылка на объект не установлена на экземпляр объекта
привет, недавно я начал кодировать на c# и хотел создать систему входа в систему.
я пытался связать базу данных access с формой для чтения данных БД, но почему-то это просто не работает... :(
вот мои коды:
Что я уже пробовал:
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 System.Data.OleDb; namespace POS_System { public partial class login0 : Form { OleDbConnection loginconnect = new OleDbConnection(); OleDbCommand logincommand = new OleDbCommand(); OleDbDataReader reader; public static string sendtext = ""; public login0() { InitializeComponent(); } private void loginbutton_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(usernametextBox.Text)) { MessageBox.Show("Please enter your username", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); passwordtextBox.Clear(); usernametextBox.Focus(); return; } if (string.IsNullOrEmpty(passwordtextBox.Text)) { MessageBox.Show("Please enter your password", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning); passwordtextBox.Focus(); return; } MessageBox.Show("Loading database..."); loginconnect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\Owner\\Desktop\\users.accdb;"; loginconnect.Open(); logincommand.Connection = loginconnect; logincommand.CommandText = "SELECT* FROM Users" + loginconnect; reader = logincommand.ExecuteReader(); int count = 0; while (reader.Read()) { count = count++; } if (count == 1) { MessageBox.Show("You have successfully logged in.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); Form mainmenu1 = new mainmenu1(); mainmenu1.Show(); this.Hide(); sendtext = usernametextBox.Text; mainmenu1 form = new mainmenu1(); form.Show(); } else { MessageBox.Show("Your username or password is incorrect, please try again.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information); usernametextBox.Clear(); passwordtextBox.Clear(); usernametextBox.Focus(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); usernametextBox.Clear(); passwordtextBox.Clear(); usernametextBox.Focus(); } finally { reader.Close(); loginconnect.Close(); } } private void registerbutton_Click(object sender, EventArgs e) { Form registermenu5 = new registermenu5(); registermenu5.ShowDialog(); } private void exitbutton_Click(object sender, EventArgs e) { Application.Exit(); } private void usernametextBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)13) passwordtextBox.Focus(); } private void passwordtextBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)13) loginbutton.PerformClick(); } } }
Karthik_Mahalingam
какая линия?