ユーザーがユーザー名と日付を入力し、データをデータベースに入力するボタンをクリックするプログラムがあります。
私が抱えている問題は、テキスト ボックスの日付データをメソッドの引数として BOL クラスに渡すことができないことです。次のエラーが表示されます。
私の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 を使用してみました。私が言ったように、私はそれが私に何をしたいのか途方に暮れています。