Jitendra shekhawat Ответов: 1

Как это сделать i...no существует сопоставление типа объекта system.windows.forms.textbox с известным собственным типом управляемого поставщика.


tdapplication пространства имен
{
общественные частичное форму обратной связи класс : форма
{
Объект sqlconnection кон = новое sqlconnection("источник данных=.\\Именем sqlexpress;начальный каталог=TDApplication;Комплексная безопасность=истина;");
Команда sqlcommand cmd в;

/Переменная / ID, используемая при обновлении и удалении записи
int ID = 0;
//int ID = @tdtext;
//int ID = tdtext. Text;

общественные форму обратной связи()
{
метод InitializeComponent();
DisplayData();
ClearData();
}

//вставка данных
частная btn_Insert_Click недействительным(объект отправителя, EventArgs в электронной)
{
если (TitalcomboBox.Текст ! = "" & & amp; NametxtBox.Текст! = "")
{
cmd = new SqlCommand ("вставить в TDContact ( Title,Name,H_Phone,C_Phone,W_Phone,Address,City,State,Pin_code,P_Email,W_Email,Gender,Birthday,Marriage) ценности (@Title,@Name,@H_Phone,@C_Phone,@W_Phone,@Address,@City,@State,@Pin_code,@P_Email,@W_Email,@Gender,@Birthday,@Marriage)", кон);
против.Открыть();
УМК.Параметры.AddWithValue ("@Title", this.TitalcomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Name", this.NametxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@H_Phone", this.HPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@C_Phone", this.CPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@W_Phone", this.WPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Address", this.AddrstxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@City", this.CitytxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@State", this.StatecomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Pin_code", this.PintxtBox. Text. Trim());
УМК.Параметры.AddWithValue ("@P_Email", this.PEmailtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@W_Email", this.WEmailtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Gender", this.GendrcomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Birthday", this. dateTimePicker1. Value);
УМК.Параметры.AddWithValue("@Marriage", this. dateTimePicker2. Value);
УМК.Метод executenonquery();
против.Закрывать();
Ящик для сообщений.Show ("Запись Успешно Вставлена");
DisplayData();
ClearData();
}
ещё
{
Ящик для сообщений.Шоу ("Пожалуйста, Предоставьте Подробности!");
}
}

// Отображение данных в Listview
private void DisplayData()
{
мыши listview1.Вид = Вид.Детали;
SqlDataAdapter ада = новый SqlDataAdapter("выберите ID, название,наименование,адрес из TDContact", кон);
DataTable dt = новый DataTable();
ада.Заполнить(ДТ);
мыши listview1.Предметы.Четкий();
по каждому элементу (объекта datarow Row в ДТ.Строк)
{
Listviewitem item = new ListViewItem (row ["ID"].Метод toString());
пункт.подпункты.Добавить (строка ["заголовок"].Метод toString());
пункт.подпункты.Добавить (строка ["имя"].Метод toString());
пункт.подпункты.Добавить (строка ["адрес"].Метод toString());
мыши listview1.Предметы.Добавить элемент);
}
}

// Очистить Данные
частная пустота ClearData()
{
Титалкомбобокс.Текст = "";
NametxtBox.Текст = "";
HPtxtBox.Текст = "";
CPtxtBox.Текст = "";
WPtxtBox.Текст = "";
AddrstxtBox.Текст = "";
CitytxtBox.Текст = "";
StatecomboBox.Текст = "";
Пинткстбокс.Текст = "";
PEmailtxtBox.Текст = "";
WEmailtxtBox.Текст = "";
Гендркомбобокс.Текст = "";
dateTimePicker1.Текст = "";
dateTimePicker2.Текст = "";
ID = 0;
}

// Обновить Запись
частная btn_Update_Click_1 недействительным(объект отправителя, EventArgs в электронной)
{
cmd = new SqlCommand ("обновить набор TDContact Title=@Title,Name=@Name,H_Phone=@H_Phone,C_Phone=@C_Phone,W_Phone=@W_Phone,Address=@Address,City=@City,State=@State,Pin_code=@Pin_code,P_Email=@P_Email,W_Email=@W_Email,Gender=@Gender,Birthday=@Birthday,Marriage=@брак, где tdtext = @id ", con);
против.Открыть();
УМК.Параметры.AddWithValue ("@id", tdtext);
УМК.Параметры.AddWithValue ("@Title", this.TitalcomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Name", this.NametxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@H_Phone", this.HPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@C_Phone", this.CPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@W_Phone", this.WPtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Address", this.AddrstxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@City", this.CitytxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@State", this.StatecomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Pin_code", this.PintxtBox. Text. Trim());
УМК.Параметры.AddWithValue ("@P_Email", this.PEmailtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@W_Email", this.WEmailtxtBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Gender", this.GendrcomboBox.Текст.Отделка());
УМК.Параметры.AddWithValue ("@Birthday", this. dateTimePicker1. Value);
УМК.Параметры.AddWithValue("@Marriage", this. dateTimePicker2. Value);
int k = cmd.Метод executenonquery();
против.Закрывать();
если (k > 0)
{
Ящик для сообщений.Show ("Запись Успешно Обновлена");
DisplayData();
ClearData();
}
ещё
{
Ящик для сообщений.Показать ("Пожалуйста, выберите запись для обновления");
}
}

// Выберите Индекс Listview
частная listView1_SelectedIndexChanged недействительным(объект отправителя, EventArgs в электронной)
{

if (listView1. SelectedItems.Количество = = 0)
вернуть;
Listviewitem item = listView1. SelectedItems[0];
ID = конвертировать.ToInt32(listView1. SelectedItems[0].Подпункты[0]. Текст);

Титалкомбобокс.Text = listView1. SelectedItems[0].Подпункты[1].Текст;
NametxtBox.Text = listView1. SelectedItems[0].Подпункты[2].Текст;
//HPtxtBox.Text = listView1. SelectedItems[0].Подпункты[3].Текст;
//CPtxtBox.Text = listView1. SelectedItems[0].Подпункты[4].Текст;
//WPtxtBox.Text = listView1. SelectedItems[0].Подпункты[5].Текст;
//AddrstxtBox.Text = listView1. SelectedItems[0].Подпункты[6].Текст;
//CitytxtBox.Text = listView1. SelectedItems[0].Подпункты[7].Текст;
// StatecomboBox.Text = listView1. SelectedItems[0].Подпункты[8].Текст;
//PintxtBox.Text = listView1. SelectedItems[0].Подпункты[9]. Текст;
//PEmailtxtBox.Text = listView1. SelectedItems[0].Подпункты[10]. Текст;
//WEmailtxtBox.Text = listView1. SelectedItems[0].Подпункты[11]. Текст;
// GendrcomboBox.Text = listView1. SelectedItems[0].Подпункты[12]. Текст;
//dateTimePicker1.Text = listView1. SelectedItems[0].Подпункты[13]. Текст;
//dateTimePicker2. Text = listView1.SelectedItems[0].Подпункты[14]. Текст;
}

//удалить запись
частная btn_Delete_Click_1 недействительным(объект отправителя, EventArgs в электронной)
{
if (ID != 0)
{
cmd = new SqlCommand ("delete TDContact where tdtext=@id", con);
против.Открыть();
УМК.Параметры.AddWithValue ("@id", tdtext);
УМК.Метод executenonquery();
против.Закрывать();
Ящик для сообщений.Show ("Запись Удалена Успешно!");
DisplayData();
ClearData();
}
ещё
{
Ящик для сообщений.Показать ("Пожалуйста, выберите запись для удаления");
}
}


// скрытое текстовое поле onclick event
частная tdtext_TextChanged недействительным(объект отправителя, EventArgs в электронной)
{


SqlDataAdapter ада = новый SqlDataAdapter("выберите ID, название,имя,H_Phone,C_Phone,W_Phone,Адрес,город,штат,Pin_code,P_Email,W_Email,пол,дату рождения,брак с TDContact где ID = '"+ tdtext.Текст+"' ", кон);


}

//частная txt_SearchName_TextChanged недействительным(объект отправителя, EventArgs в электронной)
//{
// если (txt_SearchName.Текст! = "") {
//for(int i = listView1.Предметы.Count - 1; i >= 0; i--) {
// var item = listView1.Элементы[я];
// если (элемент.Текст.Нижестоящим().Содержит(txt_SearchName.Текст.Нижестоящим())) {
// пункт.BackColor = SystemColors.Выделять;
// пункт.ForeColor = SystemColors.HighlightText;
// }
// еще {
// мыши listview1.Предметы.Удалить элементы);
// }
// }
// if (listView1. SelectedItems.Количество = = 1) {
// мыши listview1.Сосредоточить();
// }
// }
// еще
// DisplayData();

// }

}
}

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

Никакого отображения из системы типов объектов не существует.Окна.Формы.Текстовое поле для известного собственного типа управляемого поставщика.

1 Ответов

Рейтинг:
4

OriginalGriff

Потому что tdtext-это текстовое поле:

SqlDataAdapter ada = new SqlDataAdapter("select ID, Title,Name,H_Phone,C_Phone,W_Phone,Address,City,State,Pin_code,P_Email,W_Email,Gender,Birthday,Marriage from TDContact Where ID = '"+ tdtext.Text+"' ", con);
вы не можете просто передать его в SQL:
cmd.Parameters.AddWithValue("@id", tdtext);

Вам нужно передать его текстовое свойство:
cmd.Parameters.AddWithValue("@id", tdtext.Text);


И уберите конкатенацию строк! Это опасно, независимо от того, как редко вы его используете!


Jitendra shekhawat

Многосоставный идентификатор "tdtext. Text"не может быть привязан.

Показать эту ошибку

OriginalGriff

Затем вы либо ввели его неправильно, либо вам нужно посмотреть, почему он работает в вашем обработчике событий tdtext_TextChanged...

Jitendra shekhawat

как, чтобы slove его

я хочу, чтобы tdtext, textbox хранил все значения,такие как id, имя, адрес.
а затем нажмите на строку listview и покажите весь элемент в текстовом поле в форме окна
после обновления удаления и т. д. Работа