Трехровневая реализация архитектуры в приложении формы WindowsC#

Место общения программистов C#
Ответить
Anonymous
 Трехровневая реализация архитектуры в приложении формы Windows

Сообщение Anonymous »

Я пытаюсь вставить данные в базу данных с использованием трехуровневой архитектуры, но я застрял, и я не могу продолжить. public void assignField()
{
string maritalCondition = "";
string sex = "";

assignObj.Registered_Date = dateTimePicker1_Date.Value;
assignObj.First_Name = txt_FirstName.Text;

if (comboBox2_MaritalStatus.SelectedIndex == 0)
{
maritalCondition = "Single";
}
else
maritalCondition = "Married";

assignObj.Marital_Status = maritalCondition;

if (RadioButton_Male.Checked == true)
sex = "Male";
else
sex = "Female";
assignObj.Gender = sex;

this.txt_Age.Text = Convert.ToInt32(age).ToString();
}

private void btnRegister_Click(object sender, EventArgs e)
{
assignField();
}
< /code>

Далее - средний уровень: < /p>

public class CustomerDataType
{
private DateTime registered_Date;
private string first_Name;
private int age;
private string marital_Status;
private string gender;

public DateTime Registered_Date
{
get { return registered_Date; }
set { registered_Date = value; }
}

public string First_Name
{
get { return first_Name; }
set { first_Name = value; }
}

public int Age
{
get { return age; }
set { age = value; }
}

public string Marital_Status
{
get { return marital_Status; }
set { marital_Status = value; }
}

public string Gender
{
get { return gender; }
set { gender = value; }
}

public void insertInfo()
{
CustomerDataAccess insertObj = new CustomerDataAccess(Registered_Date, First_Name, Age, Marital_Status, Gender);

insertObj.insertCustomerInfo();
}
}
< /code>

И последнее - уровень доступа к данным: < /p>

public class CustomerDataAccess
{
public CustomerDataAccess(DateTime Registered_Date, string First_Name, int Age, string Marital_Status, string Gender)
{
this.registrationDate = Registered_Date;
this.fName = First_Name;
this.userAge = Age;
this.marriageStatus = Marital_Status;
this.userGender = Gender;
}

SqlConnection con;
SqlCommand cmd;

DateTime registrationDate;
string fName = "";
int userAge;
string marriageStatus;
string userGender;

public void insertCustomerInfo()
{
try
{
con = new SqlConnection("Data Source=LAKHE-PC;Initial Catalog=Sahakari;Integrated Security=True");
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = "sp_registerCust";
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("@Registered_Date", SqlDbType.DateTime);
cmd.Parameters["@Registered_Date"].Value = registrationDate;
cmd.Parameters.Add("@First_Name", SqlDbType.VarChar);
cmd.Parameters["@First_Name"].Value = fName;
cmd.Parameters.Add("@Age", SqlDbType.Int.ToString());
cmd.Parameters["@Age"].Value = userAge;
cmd.Parameters.Add("@Marital_Status", SqlDbType.VarChar);
cmd.Parameters["@Marital_Status"].Value = marriageStatus;
cmd.Parameters.Add("@Gender", SqlDbType.VarChar);
cmd.Parameters["@Gender"].Value = userGender;

cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
< /code>

Здесь с сохраненной процедурой нет проблем, и с SQL Server я могу легко вставить данные в таблицу. Но из формы Windows он не вставляет данные в таблицу. Пожалуйста, помогите мне.

Подробнее здесь: https://stackoverflow.com/questions/166 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»