2014-09-26 19 views
0

저는 Visual C#을 처음 사용하고 로컬 데이터베이스를 만들고 데이터베이스의 내용을 보여주는 datagridview를 추가했습니다. 문제는 데이터베이스에 무언가를 추가 할 때마다 datagridview가 새로 고쳐지지 않는다는 것입니다. 응용 프로그램을 다시 실행하면 새로 고침 만됩니다. 이것에Datagridview가 새로 고침되지 않습니다

SqlCeConnection cn = new SqlCeConnection(@"Data Source=C:\Users\Florence\Documents\Visual Studio 2012\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Quality.sdf"); 

:

나는이에서 ConnectionString을 변경하려고

SqlCeConnection cn = new SqlCeConnection(Properties.Settings.Default.QualityConnectionString); 

그러나 다음의 DataGridView를 새로 고침을하지만 데이터는 데이터베이스에 저장하지 않습니다. 당신이 꽤 데이터 그리드의 작동 방식을 이해하지 못하는 것 같아, 그것의 소리에 의해 그래서

try 
{ 
    SqlCeCommand exeSql = new SqlCeCommand("INSERT INTO [Read](Date,temperature,ph,conductivity,dissolvedOxygen) VALUES (@date,@tem,@ph,@con,@dis)", cn); 
    exeSql.Parameters.AddWithValue("@date", lblTime.Text); 
    exeSql.Parameters.AddWithValue("@tem", 1.5); 
    exeSql.Parameters.AddWithValue("@ph", 1.2); 
    exeSql.Parameters.AddWithValue("@con", 1.5); 
    exeSql.Parameters.AddWithValue("@dis", 1.5); 
    cn.Open(); 
    exeSql.ExecuteNonQuery(); 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information); 
} 
finally 
{ 
    MessageBox.Show("Query added!"); 
    cn.Close(); 
    this.readTableAdapter.Fill(this.qualityDataSet.Read); 
} 

답변

0

: 여기 내 삽입 문입니다. 우선 DataGrid의 기본 기능은 전달되는 데이터 집합을 표시하기 위해 열과 행을 만드는 것입니다.

그래서 select 문을 수행 할 때 데이터 집합을 선택하여 DataGrid에 전달합니다. 그러나이 시점에서 DataGrid는 더 이상 쿼리와 상호 작용하지 않으며 쿼리는 더 이상 데이터를 검색하지 않습니다.

새 데이터를 표시하기 위해 DataGrid를 새로 고치려면 몇 가지 옵션이 있지만 가장 간단한 방법은 에 데이터를 다시 쿼리하고 새 데이터 집합을 전달하는 것입니다. 검색. 그런 다음 도우미 함수 중 하나를 호출하십시오 (그 .Refresh 또는 .Update). DataGrid가 수신 한 새 데이터로 다시로드하도록 지시합니다.

+0

나는 datagridview1.refresh()를 사용했다. 및 datagridview1.update(); 그러나 여전히 동일합니다. 아무것도 바뀌지 않습니다. 어떤 조언을 해주시겠습니까? 고맙습니다. – Renzi

+0

굵은 글씨 이상의 것을 읽었습니까? –

관련 문제