У меня есть программа, в которой пользователь вводит имя пользователя и дату, а затем нажимает кнопку, которая вводит данные в базу данных.Невозможно вызвать метод из другого класса
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу передать данные даты в текстовом поле в качестве аргумента в методе для моего класса BOL. Я получаю следующее сообщение об ошибке: «„P90XPRogramt.ProgramLoginBOL.TestParsing (строка)“пользователя не может получить доступ с помощью ссылки экземпляра, квалифицировать его с именем типа вместо»
Вот код из моего слоя пользовательского интерфейса:
public partial class ProgramLoginForm : Form
{
private ProgramLoginBOL busObject =
new ProgramLoginBOL();
//default constructor
public ProgramLoginForm(string dayNo)
{
InitializeComponent();
busObject.InitializeConnection();
}
private void btnBeginProgram_Click(object sender, EventArgs e)
{
busObject.UserName = txtEnterName.Text;
busObject.TestParsing(txtStartDate.Text);
}
//event handler to close program
private void btnExitProgram_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
Вот код для моего класса BOL:
class ProgramLoginBOL
{
//declare variables
string userName = "";
//instantiate a connecttion object to Access database
OleDbConnection aConnection =
new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=P90XDatabase.accdb;");
public ProgramLoginBOL()
{
}
//property for userName variable
public string UserName
{
get { return userName; }
set { userName = value; }
}
public static DateTime TestParsing(string datetext)
{
DateTime dt;
if (DateTime.TryParseExact(datetext, "d", null, 0, out dt))
{
Console.WriteLine("Parsed to {0}", dt);
}
else
{
Console.WriteLine("Bad date");
}
return dt;
}
public void InitializeConnection()
{
ProgramLoginDAL.InitializeConnection(aConnection);
}
}
Я не уверен, что это говорит мне делать. По типу названия я предполагаю, что они означают тип данных, поэтому я пробовал следующее:
string busObject.TestParsing(txtStartDate.Text);
string.busObject.TestParsing(txtStartDate.Text);
string.TestParsing(txtStartDate.Text);
busObject.TestParsing(string txtStartDate.Text);
Ничего из этого не произошло. Я также попытался использовать DateTime вместо строки. Как я уже сказал, я не понимаю, что он хочет от меня.
Я не знал, что MSDN имел код ошибки объяснения. Я сделаю это в будущем. Спасибо вам за помощь. –