MS Access 데이터베이스 파일에 다양한 데이터를 저장하고이를 dataGridView에 채 웁니다. 열 중 하나는 파일 위치를 저장하는 필드입니다. 나는, 데이타베이스 파일을로드하면 이제 내가 디버그 시계 창을 검사 할 때 내가 string Location
이라고DataGridView에서 데이터베이스의 이스케이프 문자로 파일 경로 가져 오기 DataRow
foreach (DataRow row in dataTable.Rows)
{
string Location = row["file_location"].ToString();
}
을 볼 수 있습니다 다음 사용하여 검색하려고
D:\test\1.txt
으로 나는 그것이 저장되어 볼 수 있습니다 사실
D:\\test\\1.txt
이제는
\
을 이스케이프 문자로 추가하는 것을 이해하지만 내
string Location
을 실제로 이스케이프 된 경로가 아닌 올바른 경로로 유지하는 방법을 잘 모르겠습니다.
두 가지 방법으로 축 어적 문자열 리터럴을 추가하려고 시도했지만 데이터베이스 파일에서 이미 가져온 경우 또는 내가 퍼팅하는 경우에도 특히 읽었던 방식으로 효과가 나타나는지 확신하지 못했습니다. 올바른 위치에.
아래 두 옵션을 시도했지만 작동하지 않을 것이라고 확신하지 못했습니다. 그리고 결국에는하지 않았습니다.
string Location = @"";
Location = row["file_location"].ToString();
그리고
string Location = @row["file_location"].ToString();
희망 사람이 나를 도울 수 있습니다. 나는 너무 많은 StackOverflow 기사를 읽었고 나는 이해할 수있는 방식으로 나의 특정한 문제를 말하고있는 것을 발견하는 것 같다.
상수의 개행에 대한 오류가 발생하여이를 다음과 같이 변경했습니다. string replaceWith = @ "\"; 문자열 위치 = 행 [ "file_location"]. ToString(). Replace ("\\", replaceWith); 그러나 디버그 시계는 여전히 이중 backslahes 함께 그것을 보여줍니다 그것을 대체 할 것 같습니다 –
당신의 디버그 시계를 다시 이스케이프 수 있습니다 생각합니다. 내 프로젝트에서 그것을 복제하겠습니다. – clarkitect
그게 좀 실망 스럽네요, 나는 변수를 많이 확인하기 위해 시계에 의존합니다. 내가보고있는 것을 재평가해야 할 것 같아요. 하지만 올바른 파일 위치를 찾지 못해서 코드가 올바르게 작동하지 않는 이유라고 생각했습니다.더 많은 일을해야 할 것 같네요 –