Member 13034508 Ответов: 1

Текстовое поле 3-уровневая архитектура


У меня есть 3 текстовых поля, соответствующих столбцу, где я могу ввести значение с помощью кнопки 1, а также еще одну кнопку для поиска,при поиске textbox1 и нажатии кнопки buttton, если совпадение со столбцом данных, то я хочу, чтобы он передал все остальные значения в соответствующее текстовое поле.Я любезно прошу эксперта помочь мне?? Заранее спасибо
Примечание:это 3-уровневая архитектура

Что я уже пробовал:

ДАЛМАТИНЕЦ:
public DataTable SearchDB()
{
    string name="";
    string age="";
    string address="";

    SqlCommand cmd = new SqlCommand("PSearch", con);
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("@name", SqlDbType.VarChar, 50);
    cmd.Parameters["@name"].Value = name;
    /* cmd.Parameters.Add("@age", SqlDbType.VarChar, 50);
     cmd.Parameters["@age"].Value = age;
     cmd.Parameters.Add("@address", SqlDbType.VarChar, 50);
     cmd.Parameters["@address"].Value = address;*/
    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);
    if (dt.Rows.Count > 0)
    {
        name = dt.Rows[0][1].ToString();
        age = dt.Rows[0][2].ToString();
        address = dt.Rows[0][3].ToString();
    }
	return dt;
}
БАЛАНС:
public DataTable Search()
{
    csDL dl = new csDL();
    return dl.SearchDB();
}
ПЛ:
protected void Button2_Click(object sender, EventArgs e)
{
    csBL bl=new csBL();
    string name = TextBox1.Text;
    string age = TextBox2.Text;
    string address = TextBox3.Text;

    name = bl.Search().ToString() ;
    age = bl.Search().ToString();
    address = bl.Search().ToString();
}

NotPolitcallyCorrect

Помогите... с.... Что?

Garth J Lancaster

На таком форуме очень трудно задавать вопросы ,которые могут иметь "графическое" содержание - я бы предложил вам сделать "макет" текстовых полей на WinForm или что-то в этом роде, сделать снимок экрана, если требуется, аннотировать снимок экрана, показывая, что происходит / течет,опубликовать снимок экрана в imgur, а затем поместить ссылку imgur обратно с вашим вопросом, чтобы люди могли "видеть", чего вы пытаетесь достичь - не забывайте, что мы не можем видеть ваш экран/ум,поэтому нам становится трудно помочь вам

Karthik_Mahalingam

вам придется передать параметры.

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Почему такая одержимость "3-м ярусом". Это n-уровень, и он не делает глупых ошибок кодирования, как это невозможно:

Возможно,вам захочется поближе взглянуть на код в вашем обработчике Button2_Click. Видите в этом что-то не так:

protected void Button2_Click(object sender, EventArgs e)
{
    csBL bl=new csBL();
    string name = TextBox1.Text;
    string age = TextBox2.Text;
    string address = TextBox3.Text;

    name = bl.Search().ToString() ;
    age = bl.Search().ToString();
    address = bl.Search().ToString();
}

Во-первых, вы создаете csBL объект, что бы это ни было. ИМЕНА КЛАССОВ, МЕТОДОВ И ПЕРЕМЕННЫХ ОЧЕНЬ ВАЖНЫ! ОНИ ПРОХОДЯТ ДОЛГИЙ ПУТЬ К САМОДОКУМЕНТИРОВАНИЮ КОДА.

Затем вы берете значения из трех текстовых полей, ужасно названных TextBox1, TextBox2 и TextBox3, кстати (см. выше), а затем ничего не делаете с этими значениями. Вы просто отбрасываете эти ценности.

Затем вы вызываете Search метод трижды преобразует все, что он возвращает, в строку, а затем сохраняет любое значение, которое находится в ваших трех переменных сверху. Затем вы отбрасываете эти значения, ничего не делая с ними, пока переменные не выйдут из области видимости и содержимое не будет потеряно.

Вы, кажется, одержимы N-уровневой архитектурой, но вы не знаете первой вещи о том, как сделать простейшее управление вашими данными и методами вызова. Мне это кажется очень странным.


Graeme_Grant

бизнес-уровень c sharp???