[SQL] 데이터베이스 오류 : 행 위치에 없습니다 0
SQL데이터베이스 오류 : 행 위치에 없습니다 0
이 질문은 다시 몇 달을 요청했다 생각하지만 난 내 상황이 다르다과 같은 규칙이 적용되지 않을 수도 있습니다 생각합니다.
같은 오류가 팝업 것을 매번 나는이 방법을 실행합니다. 만약 위치 0에서 어떤 로우가 없다 [1] 또는 [15]로 변화 I [0]; [1] 등이 평균 내 데이터베이스 밤은도 연결 수에서 어떤 행은 없다? 나는 문이 행에도이 있는지 확인하기 위해 확인하는 경우 어떤 종류를 작성해야?
public bool UpdateOrderToShipped(string order)
{
orderNumber = order;
string batch = ConfigurationManager.AppSettings["SuccessfulOrderBatch"];
string statement = "UPDATE SOP10100 SET BACHNUMB = '"+ batch +"' WHERE SOPNUMBE = @SOPNUMBE";
SqlCommand comm = new SqlCommand(statement, connectionPCI);
comm.Parameters.Add("SOPNUMBE", orderNumber);
try
{
comm.Connection.Open();
comm.ExecuteNonQuery();
comm.Connection.Close();
}
catch(Exception e)
{
comm.Connection.Close();
KaplanFTP.errorMsg = "Database error: " + e.Message;
}
statement = "SELECT SOPTYPE FROM SOP10100 WHERE SOPNUMBE = @SOPNUMBE";
comm.CommandText = statement;
SqlDataAdapter da = new SqlDataAdapter(comm);
DataTable dt = new DataTable();
da.Fill(dt);
soptype = dt.Rows[0]["SOPTYPE"].ToString(); //errror here
return true;
}
해결법
-
==============================
1.이것은 어떤 결과가 쿼리에서 반환되지 않았 음을 의미합니다 ... 매우 간단합니다. 당신은 항상 코드 방어가와 행 배열이 그것으로 색인을 시도하기 전에 어떤 항목이 있는지 확인합니다. 뭔가 같은 :
이것은 어떤 결과가 쿼리에서 반환되지 않았 음을 의미합니다 ... 매우 간단합니다. 당신은 항상 코드 방어가와 행 배열이 그것으로 색인을 시도하기 전에 어떤 항목이 있는지 확인합니다. 뭔가 같은 :
if (dt.Rows.Count > 0) soptype = dt.Rows[0]["SOPTYPE"].ToString(); else somethingWentWrong();
-
==============================
2.당신은 테이블의 데이터가있을 수 있지만 첫 번째 쿼리 후 연결이 닫히고 생각합니다. 연결을 다시 열어보십시오. 또한 당신은 좋은 방법이 아닙니다 첫 번째 SQL 쿼리에서 문자열 연결이 있습니다. 단지 더 나은 코드를 대신 시도 ... 캐치 블록을 사용해보십시오. 조엘 제안하고, 수표를 사용
당신은 테이블의 데이터가있을 수 있지만 첫 번째 쿼리 후 연결이 닫히고 생각합니다. 연결을 다시 열어보십시오. 또한 당신은 좋은 방법이 아닙니다 첫 번째 SQL 쿼리에서 문자열 연결이 있습니다. 단지 더 나은 코드를 대신 시도 ... 캐치 블록을 사용해보십시오. 조엘 제안하고, 수표를 사용
-
==============================
3.
for (int i = 0; i <= dt.rows.count; i++) { // do something till rows in DT }
-
==============================
4.저도 같은 문제가 있었다, 나는 나의 첫 번째 열은 정수 기반되지 않았 음을 깨달았다. 내가 편집 그래서 첫 번째 저도 같은 오류에 직면했다.
저도 같은 문제가 있었다, 나는 나의 첫 번째 열은 정수 기반되지 않았 음을 깨달았다. 내가 편집 그래서 첫 번째 저도 같은 오류에 직면했다.
그래서, 내 제안은 첫 번째 열 편집을하거나하지 않거나 첫 번째 열은 편집 아무것도없는 경우에 ID 열합니다.
from https://stackoverflow.com/questions/7795066/database-error-there-is-no-row-at-position-0 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 그것은 tableless이 여러 행으로 선택이 가능합니까? (0) | 2020.07.16 |
---|---|
[SQL] 정지 MySQL의 재사용 AUTO_INCREMENT ID를 (0) | 2020.07.16 |
[SQL] 는 SQL 애저의 정체성 씨앗을 다시 설정하는 방법 (0) | 2020.07.16 |
[SQL] STRING_AGG에서 고유 값을 생성합니다 (0) | 2020.07.16 |
[SQL] 어떻게 2008 SQL 서버에서이 계산 열을 변경할 수 있습니다? (0) | 2020.07.16 |