我有一个程序,用户在其中输入用户名和日期,然后单击将数据输入数据库的按钮。
我遇到的问题是我似乎无法将文本框日期数据作为方法中的参数传递给我的 BOL 类。我收到以下错误:“无法使用实例引用访问成员 'P90XPRogramt.ProgramLoginBOL.TestParsing(string)';改为使用类型名称对其进行限定”
这是我的 UI 层的代码:
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 而不是字符串。正如我所说,我不知道它要我做什么。