Есть БД, созданная в среде SQL Server Management Studio.
Подключаю её в Visual Studio ( свойства таблиц на скринах)
Мне необходимо добавить новую сделку
Ввожу данные в форму, нажимаю кнопку добавить
Вылазит ошибка
В чем проблема?
Вот код кнопки:
Код:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
String^ mFIO;
String^ mAdres;
String^ mMVP;
String^ mNomBlank;
/*String^ ser1;
String^ nom1;
String^ KD1;*/
int ser;
int nom;
int KD;
try
{
mFIO=System::Convert::ToString(TextBox1->Text);
mAdres=System::Convert::ToString(TextBox2->Text);
mMVP =System::Convert::ToString(TextBox6->Text);
mNomBlank =System::Convert::ToString(TextBox11->Text);
ser=System::Convert::ToInt32(TextBox4->Text);
nom=System::Convert::ToInt32(TextBox5->Text);
KD=System::Convert::ToInt32(TextBox10->Text);
/*KD=System::Convert::ToInt32(KD1);
ser=System::Convert::ToInt32(ser1);
nom=System::Convert::ToInt32(nom1);
*/
combo1=comboBox1->SelectedIndex; // Получить индекс выбранной строки
combo2=comboBox2->SelectedIndex;
combo3=comboBox3->SelectedIndex;
combo4=comboBox4->SelectedIndex;
combo5=comboBox5->SelectedIndex;
String^ s1 =dataGridView1->Rows[combo1]->Cells[0]->Value->ToString(); // ID страны (строка)
String^ s2 =dataGridView2->Rows[combo2]->Cells[0]->Value->ToString(); // ID региона (строка)
String^ s3 =dataGridView3->Rows[combo3]->Cells[0]->Value->ToString(); // ID города (строка)
String^ s4 =dataGridView4->Rows[combo4]->Cells[0]->Value->ToString();
String^ s5 =dataGridView5->Rows[combo5]->Cells[0]->Value->ToString();
//mIDN, mIDL, mIDMC, mIDGP, mIDNC
mIDMC=System::Convert::ToInt32(s1); // код места (целое)
mIDGP=System::Convert::ToInt32(s2); // пошлина (целое)
mIDNC=System::Convert::ToInt32(s3); // код названия (целое)
mIDN=System::Convert::ToInt32(s4); // код нотариуса
mIDL=System::Convert::ToInt32(s5); // код льготы
mFIO = "'" + mFIO +"'";
mAdres = "'"+ mAdres + "'";
mMVP = "'" + mMVP +"'";
mNomBlank = "'" + mNomBlank +"'";
/*ser1 = "'"+ ser1 + "'";
nom1 = "'"+ nom1 + "'";
KD1 = "'"+ KD1 + "'";
*/
DateTime^ dtimer=DateTime();
dtimer = this->dateTimePicker1->Value;
String^ s6 = dtimer->ToString("dd/MM/yyyy", DateTimeFormatInfo::CurrentInfo);
DateTime^ dtimez=DateTime();
dtimez = this->dateTimePicker2->Value;
String^ s7 = dtimez->ToString("dd/MM/yyyy", DateTimeFormatInfo::CurrentInfo);
DateTime^ dtimevp=DateTime();
dtimevp = this->dateTimePicker3->Value;
String^ s8 = dtimevp->ToString("dd/MM/yyyy", DateTimeFormatInfo::CurrentInfo);
s6="'"+s6+"'";
s7="'"+s7+"'";
s8="'"+s8+"'";
SqlCeCommand^ command1 = connection->CreateCommand();
command1->CommandText = "INSERT INTO Клиент (ФИО_клиента, Место_проживания, Дата_рождения, Серия_паспорта, Номер_паспорта, Дата_выдачи, Место_выдачи_и_кем_выдан) Values(?, ?, ?, ?, ?, ?, ?)";
command1->Parameters->Add("ФИО_клиента", mFIO);
command1->Parameters->Add("Место_проживания", mAdres);
command1->Parameters->Add("Дата_рождения", s6);
command1->Parameters->Add("Серия_паспорта", ser);
command1->Parameters->Add("Номер_паспорта", nom);
command1->Parameters->Add("Дата_выдачи", s8);
command1->Parameters->Add("Место_выдачи_и_кем_выдан", mMVP);
SqlCeDataReader^ read1 = command1->ExecuteReader();
/*command1->ExecuteNonQuery();
*/
/*String^ sql2= String::Format("SELECT MAX ID_клиента FROM Клиент");*/
SqlCeCommand^ command2 = connection->CreateCommand();
command2->CommandText = "SELECT MAX ID_клиента FROM Клиент";
/*SqlCeCommand^ command2 = gcnew SqlCeCommand(sql2);*/
SqlCeDataReader^ read2 = command2-> ExecuteReader();
DataTable^ dt9;
dt9 = gcnew DataTable();
// Заполнение "шапки" таблицы
dt9->Columns->Add("Номер");
while (read2->Read() == true)
// Заполнение клеток (ячеек) таблицы
{
dt9->Rows->Add(read2->GetValue(0));
}
read2->Read();
dataGridView9->DataSource = dt9;
String^ IDKl= dt9->Rows[0][0]->ToString(); //mIDN, mIDL, mIDMC, mIDGP, mIDNC
IDKl1=System::Convert::ToInt32(IDKl);
SqlCeCommand^ command3 = connection->CreateCommand();
command3->CommandText = "INSERT INTO Нотариальное_действие(ID_клиента, ID_нотариуса, ID_названия, Дата_совершения_сделки, Код_места, Количество_документов, Номер_и_серия_бланка, Пошлина, Код_льготы) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";
command3->Parameters->Add("ID_клиента", IDKl);
command3->Parameters->Add("ID_нотариуса", mIDN);
command3->Parameters->Add("ID_названия", mIDNC);
command3->Parameters->Add("Дата_совершения_сделки", s7);
command3->Parameters->Add("Код_места", mIDMC);
command3->Parameters->Add("Количество_документов", KD);
command3->Parameters->Add("Номер_и_серия_бланка", mNomBlank);
command3->Parameters->Add("Пошлина", mIDGP);
command3->Parameters->Add("Код_льготы", mIDL);
SqlCeDataReader^ read3 = command3->ExecuteReader();
MessageBox::Show("Новый клиент добавлен.", "ДОБАВЛЕНИЕ НОВОГО КЛИЕНТА",
MessageBoxButtons::OK, MessageBoxIcon::Information);
TextBox1->Text="";
TextBox2->Text="";
/*TextBox3->Text="";*/
comboBox1->SelectedIndex=0;
comboBox2->SelectedIndex=0;
comboBox3->SelectedIndex=0;
TextBox4->Text="";
TextBox5->Text="";
comboBox4->SelectedIndex=0;
comboBox5->SelectedIndex=0;
TextBox6->Text="";
}
catch (System::FormatException^ e)
{
MessageBox::Show("Ошибка ввода исходных данных", "КОНТРОЛЬ ДАННЫХ", MessageBoxButtons::OK, MessageBoxIcon::Error);
}
}
То есть кнопка то работает, только, что бы я не вводил, данные всегда введены неверно