メインフォーム内に表示されるuserControlを使用している小さなプロジェクトで作業しています。次のようなデータベースへのアクセスを許可する Model クラスを使用しています。
public void InsertRoute(Route route)
{
string routecode = route.RouteCode.ToString();
string vehiclecode = route.VehicleCode.ToString();
string firsstudentname = route.FirstStudentName.ToString();
using (SqlCommand cmd = new SqlCommand("InsertRoute2", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@RouteCode", routecode));
cmd.Parameters.Add(new SqlParameter("@VehicleCode", vehiclecode));
cmd.Parameters.Add(new SqlParameter("@FirstStudentName", firsstudentname));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
次に、いくつかのテキストボックスとボタンクリックイベントハンドラーを持つ UCCreateRotue というユーザーコントロールがあります。
private void btnCreateRoute_Click_1(object sender, EventArgs e)
{
UCRouteCreate form = new UCRouteCreate();
//DialogResult dialog = form.ShowDialog();
//if (dialog == DialogResult.OK)
//{
Route route = controller.CreateMovieFromText(form);
controller.InsertRoute(route);
//RefreshTable();
//}
}
それから私は次のようにルートと呼ばれるクラスを持っています
class Route
{
private GlobalReach.UserControls.UCRouteCreate usrCon;
public string RouteCode
{
get { return usrCon.txtRouteCode.Text ;}
set { usrCon.txtRouteCode.Text = value ; }
}
}
次に、sprocを介して行われる挿入を実行するために、次のようにコントローラーにメソッドがあります
public Route CreateRouteFromText(UCRouteCreate form)
{
string routecode =form.txtRouteCode.Text.ToString();
string vehiclecode = form.txtVehicleCode.Text.ToString();
string firststudentname = form.txtFStudent.Text.ToString();
Route route = new Route();
return route;
}
私の問題は、ボタンをクリックするとコードが機能することです。テーブルに新しい行が挿入されていますが、値が空の場合、つまり、値が何も入力されていないため (意味がある場合)、フィールドは選択されていません。 NULL 値として入力された入力を埋める..? usrControl TextBox に値を入力すると、値がコードでキャプチャされない理由についてアドバイスをお願いします.. よろしくお願いします