2015-05-10 2 views
-2

Мне нужно изменить значения в таблице Iepirkumi на значения, которые находятся в текстовых окнах. У Debbugger нет проблем, но код не работает.Не удается обновить таблицу SQL

string connectionString = (@"Data Source=(LocalDB)\v11.0;AttachDbFilename=""C:\Users\Davis\Documents\Visual Studio 2013\Projects\WindowsFormsApplication1\WindowsFormsApplication1\dati.mdf"";Integrated Security=True"); 
    using (SqlConnection conn = new SqlConnection(connectionString)) 
    { 
     conn.Open(); 
     using (SqlCommand cmd = 
      new SqlCommand("UPDATE Iepirkumi SET"+ 
       " [Pieg_Nos]='@Pieg_Nos',"+ 
       " [Prec_Nos]='@Prec_Nos',"+ 
       " [Daudzums][email protected],"+ 
       " [Pieg_dat]='@Piegdat',"+ 
       " [Statuss]='@Statuss',"+ 
       " [Preces_kods][email protected]_kods,"+ 
       " [Pieg_kods][email protected]_kods WHERE [Id][email protected]", conn)) 
     { 
      cmd.Parameters.Add("@Id", SqlDbType.Int).Value=rindex; 
      cmd.Parameters.Add("@Pieg_Nos",SqlDbType.NChar).Value=textBox3.Text; 
      cmd.Parameters.Add("@Prec_Nos", SqlDbType.NChar).Value = textBox4.Text; 
      cmd.Parameters.Add("@Daudzums", SqlDbType.NChar).Value = textBox5.Text; 
      cmd.Parameters.Add("@Pieg_dat", SqlDbType.DateTime).Value = dateTimePicker1.Value; 
      cmd.Parameters.Add("@Statuss", SqlDbType.NChar).Value= textBox6.Text; 
      cmd.Parameters.Add("@Preces_kods", SqlDbType.NChar).Value = textBox1.Text; 
      cmd.Parameters.Add("@Pieg_kods", SqlDbType.NChar).Value = textBox2.Text; 
     } 
     conn.Close(); 
    } 
    MessageBox.Show("Dati saglabāti."); 
} 
catch (SqlException ex) 
{ 
    MessageBox.Show(ex.Message); 
} 
+0

Добро пожаловать в переполнение стека! Я редактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

ответ

4

Вы никогда не выполняли команду. Перед

conn.Close(); 

поставил

cmd.ExecuteNonQuery(); 

Кроме того, предложение: не только отображать ex.Message. Отобразите ex.ToString(), чтобы отобразить полное исключение, включая любые Внутренние исключения. Это особенно важно с SqlException, так как у них может быть много деталей.