2017-12-20 6 views
0
private void wypelnijTabeleDanymi3(string pytanie3) 
    { 
     using (connection = new SqlConnection(string_polaczeniowy)) 
     { 
      connection.Open(); 
      SqlCommand xquery = new SqlCommand(pytanie3, connection); 
      xquery.Parameters.AddWithValue("@imie", txtImie.Text); 
      xquery.Parameters.AddWithValue("@nazwisko", txtNazwisko.Text); 
      xquery.Parameters.AddWithValue("@danekontaktowe", rtbDaneKontaktowe.Text); 
      xquery.Parameters.AddWithValue("@idOsoby", tbIdOsoby.Text); 
      SqlDataAdapter xdata = new SqlDataAdapter(xquery); 
      dtsTabelaTestowa.Clear(); 
      xdata.Fill(dtsTabelaTestowa); 
      dgTabelaTestowa.DataSource = dtsTabelaTestowa.Tables[0]; 
      dgTabelaTestowa.Refresh(); 
     } 
    } 

    private void btnUpdate_Click(object sender, EventArgs e) 
     { 
      string wartosc = "UPDATE tblStudent17 SET Imie = @imie, Nazwisko = @nazwisko, Dane_Kontaktowe = @danekontaktowe WHERE idOsoby= @idOsoby"; 
      wypelnijTabeleDanymi3(wartosc); 
     } 

このコードは、SQLのDataGridViewが消えますなぜ私がクリックしたときに、誰かが?「更新ボタン」のコードを教えてもらえますが、私はDataGridViewの行をクリックすると、その後、私は、新しい値を書き込むことができ、データとテキストボックスを埋める消えます特にtexboxで、その後btnUpdateをクリックして、全体のSQLのDataGridViewが消えたが、私はそれを手動でチェックする場合は、新しい値が正しく変更された。私はbtnUpdateをクリックしたとき、それはすぐにDataGridViewのをリフレッシュしたいと思います。私は間違って何をしているのですか?SQLの更新は、DataGridViewのは

+3

データテーブルを 'UPDATE'文で埋めるように見えますか?そうですか? –

+0

うん、それはそれのように見えます。パラメータの下に「select * from tblStudent17」という別のsqlコマンドを追加する必要がありますか? – Mike

+1

@Mike私は最初に更新を行い、次に別の選択をすると言うでしょう。例外がある場合は、 – Steve

答えて

0
private void btnUpdate_Click(object sender, EventArgs e) 
     { 
      string wartosc = "UPDATE tblStudent17 SET Imie = @imie, Nazwisko = @nazwisko, Dane_Kontaktowe = @danekontaktowe WHERE idOsoby= @idOsoby"; 
      using (connection = new SqlConnection(string_polaczeniowy)) 
      { 
       connection.Open(); 
       SqlCommand xquery = new SqlCommand(wartosc, connection); 
       xquery.Parameters.AddWithValue("@imie", txtImie.Text); 
       xquery.Parameters.AddWithValue("@nazwisko", txtNazwisko.Text); 
       xquery.Parameters.AddWithValue("@danekontaktowe", rtbDaneKontaktowe.Text); 
       xquery.Parameters.AddWithValue("@idOsoby", tbIdOsoby.Text); 
       SqlDataAdapter xdata = new SqlDataAdapter(xquery); 
       xdata.Fill(dtsTabelaTestowa); 
      } 

      wypelnijTabeleDanymi(); 
     } 


private void wypelnijTabeleDanymi() 
     { 
      using (connection = new SqlConnection(string_polaczeniowy)) 
      { 
       connection.Open(); 
       SqlCommand xquery = new SqlCommand("select * from tblStudent17", connection); 
       SqlDataAdapter xdata = new SqlDataAdapter(xquery); 
       dtsTabelaTestowa.Clear(); 
       xdata.Fill(dtsTabelaTestowa); 
       dgTabelaTestowa.DataSource = dtsTabelaTestowa.Tables[0]; 
       dgTabelaTestowa.Refresh(); 

      } 
     } 

このようにうまくいきます。ありがとうございました。ありがとうございます。