2014-01-29 4 views
0

Я работаю над настольным приложением. Я разработал форму, в которой пользователь вводит данные. Когда он нажимает кнопку отправки, данные сохраняются в имени базы данных PakReaEstat. Проблема в том, что данные не вставлены в таблицу, и я получаю сообщение об ошибке: SqlException was Unhandled.Данные не добавлены в таблицу базы данных из окна формы

Когда я нажимаю кнопку «Отправить», он вызывает ошибку. код под кнопкой как следующая:

protected void button2_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo"); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime)" + 
            "values (" + Convert.ToInt32(textBox1.Text) + ",'" + 
            textBox2.Text + "','" + 
            textBox4.Text + "'," + 
            textBox5.Text + "," + 
            textBox6.Text + "," + 
            textBox7.Text + "," + 
            textBox8.Text + 
            "," + textBox3.Text + ")", con); 
    cmd.ExecuteNonQuery(); 
    MessageBox.Show("Insertion successfully done"); 
} 
+2

Недостающие одиночные кавычки на последние 5 текстовых –

+0

Пожалуйста, помогите мне ... –

+0

Вы уверены, что вы обращаетесь к базе данных правильно? – Nath

ответ

0

Всегда надевайте свой код в try... catch блоке, если вы делаете сделку с datatbase

Если connetion к Databse устанавливается и не проблема, там тогда

Вам не хватает одинарных кавычек в последних пяти текстовых блоках. Я полагаю, что последние пять столбцы типа nvarchar в Уре datatbse

команда изменения в

SqlCommand cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime) values (" + Convert.ToInt32(textBox1.Text) + ",'" + textBox2.Text + "','" + textBox4.Text + " ','" + textBox5.Text + "','" + textBox6.Text+ "','" +textBox7.Text+ "','"+textBox8.Text +"','"+textBox3.Text+"')", con); 
+0

как я могу проверить, установлен ли мой connecti0on с базой данных? Пожалуйста, сообщите нам –

+0

Вы не подключились к базе данных приложений, как говорит ошибка ur, проверьте строку подключения ur –

0

Существует проблема в вашем SqlConnection

Убедитесь, что строка подключения является правильным

SqlConnection con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo"); 

Должно наступить как

SqlConnection con = new SqlConnection("Data Source=ADMIN3-PC;Initial Catalog=master;Integrated Security=True"); 
1

Проверьте строку подключения и инструкцию SQL insert.

Я рекомендую вам использовать параметры sql вместо текстового свойства textbox как значение напрямую. Beacause - это распространенная уязвимость, называемая SQL-инъекцией. Я также рекомендую использовать инструкцию, чтобы убедиться, что соединение закрыто.

using (var con = new SqlConnection("Data Source=ali-pc/sqlexpress.PakEstateAgency.dbo")) 
      { 
       con.Open(); 
       using (var cmd = new SqlCommand("insert into ClientINFO(Application#,LDAReg#,Size,Name,SDW/O,CNIC,Address,Image,giventime)" + "values (@Application#,@LDAReg#, ...)", con)) 
       { 
        cmd.Parameters.AddWithValue("@Application#", Convert.ToInt32(textBox1.Text)); 
        cmd.Parameters.AddWithValue("@LDAReg#", textBox2.Text); 
        // add the other parameters ... 

        cmd.ExecuteNonQuery(); 
       } 
      } 

      MessageBox.Show("Insertion successfully done"); 
+0

I Сделали так, как сказал, но проблема такая же .... .my соединение с базой данных не устанавливает .... я действительно не знаю об этом, пожалуйста, скажите мне, как я могу установить соединение с сервером sql. –

+0

проблема в том, что я не могу утверждать, что ваша строка соединения верна. Возможно, экземпляр сервера неверен. Посмотрите MSDN http://msdn.microsoft.com/de-de/library/d7469at0(v=vs.110).aspx –

Смежные вопросы