현재 C#으로 작성된 WPF 응용 프로그램의 데이터베이스에서 레코드를 검색하려고합니다. 나는 SQL 데이터 판독기를 사용하고 있는데 그것을 잘 연결 나타나지만 다음은 나에게 NullReferenceException이 제공된다SqlDataAdapter.Fill (DataTable) DataTable을 채우지 못함
다시 if (isString == true)
{
SqlDataAdapter adapter = new SqlDataAdapter("SELECT PartNumber FROM LoanerItems", loanersConnection);
DataTable datatable = new DataTable();
adapter.Fill(datatable);
for (int i = 0; i < datatable.Rows.Count - 1; i ++)
{
passBackRecords[i] = datatable.Rows[i].ToString();
}
}
내가 데이터베이스에 연결하고있어 것처럼하지만 것을 나는 디버거를 통해 실행하는 경우 데이터 테이블이 채워지지 않은 것 같습니다. 그것은 도움이 될 경우
내 연결 문자열 :
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "LLOYD2\\";
scsb.InitialCatalog = "LoanersTest";
scsb.IntegratedSecurity = true;
scsb.ConnectTimeout = 30;
나는 현재이 개 그것의 레코드 대신 확정 데이터베이스 테스트 데이터베이스를 사용하고 있습니다. Transact-SQL 편집기를 사용하여 시도한 및 기록을 잘 나타납니다.
* 편집 :
for (int i = 0; i < datatable.Rows.Count - 1; i++)
과 : 나는 모두를 시도했습니다
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM LoanerItems", loanersConnection);
DataTable datatable = new DataTable();
adapter.Fill(datatable);
for (int i = 0; i < datatable.Rows.Count - 1; i++)
{
passBackRecords[i] = datatable.Rows[i]["BCPartNumber"].toString;
}
:
for (int i = 1; i < datatable.Rows.Count; i++)
다음은 ArguementOutOfRange 예외를 던지기 시작 passBackRecords을 intializing 후
하지만 둘 다 작동하지 않는 것 같습니다.
datatable.Rows.Count;
은 데이터 테이블에 두 개의 행이 있음을 보여줍니다.
어떤 종류의 오류 메시지가 나타 납니까? – SamiHuutoniemi
'isString == true'입니까? –
나는'passBackRecords'가 null이라는 것을 내기를 원합니다. 어떤 라인에서 정확하게 Exception을 얻을 수 있습니까? – Renan