조직의 관리 시스템을 개발했습니다. 내 양식에 많은 datagridviews 있습니다. 그리고 모든 삭제 작업에 대해 아래에서 볼 수 있듯이 같은 명령 (각 셀의 콘텐츠 클릭 이벤트)이 있습니다. 한 곳에서 잘 작동하고 값이 테이블에서 삭제됩니다. 하지만 다른 테이블에서, 내가 버튼을 클릭하면 이름을 datagridview 그래서 셀 내용을 클릭 이벤트 내에서 데이터베이스에서 해당 엔티티의 레코드를 삭제하기로되어 있습니다. 클릭하면 행이 제거되지만 데이터베이스를 열면 값이 그대로 유지됩니다.DELETE 명령이 정상적으로 작동하는 것처럼 값이 테이블에서 삭제되지 않습니다.
내 coide은 여기에 있습니다 :
private void data_grid2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
// Result's tab's Gridview
int m = 0;
int currentRow = int.Parse(e.RowIndex.ToString());
try
{
string name = data_grid2.CurrentRow.Cells["RollNo"].Value.ToString();
m = int.Parse(name);
}
catch (Exception ex)
{
throw;
}
if (data_grid2.Columns[e.ColumnIndex] == editButton && currentRow >= 0)
{
}
else if (data_grid2.Columns[e.ColumnIndex] == deleteButton && currentRow >= 0)
{
string queryDeleteString = "DELETE * FROM finalResult where RollNo = " + m + "";
OleDbCommand sqlDelete = new OleDbCommand();
sqlDelete.CommandText = queryDeleteString;
sqlDelete.Connection = database;
sqlDelete.ExecuteNonQuery();
string queryString = "SELECT RollNo, RegYear, faculty, program, examNature, finalmarksObt, totalMarks, Percentage FROM finalResult";
loadResults(queryString);
}
}
은 무엇 장면 뒤에 잘못 될 수 있을까?
연결 고리가 무엇입니까? DataDirectory 바로 가기를 사용하고 있습니까? 그리고 만약 그렇다면 복사 할 출력 디렉토리가 항상 복사로 설정된 프로젝트 파일 사이에 MDB 파일이 나열되어 있습니까? – Steve
string connectionString = @ "공급자 = Microsoft.ACE.OLEDB.12.0; 데이터 원본 = RAIMS.accdb – Sameer
좋아요, 이것은 응용 프로그램의 동일한 시작 경로에있는 데이터베이스를 사용한다는 것을 의미합니다 .Visual Studio에서 이것은 BIN \ DEBUG 폴더에 프로젝트 파일 사이에 ACCDB 파일이 있습니까? 예 해당 속성이 무엇입니까? 출력 디렉토리로 복사 – Steve