현재 Excel (VBA)을 사용하는 도구를 만들었지 만 Excel 업데이트 패키지 등에 다른 종류의 문제가있을 수 있으므로 Excel과 독립적으로 만들고 싶습니다. 기본적으로 잘못 될 수있는 요소를 하나 더 제거하기 위해.
내 현재 Excel 응용 프로그램 :
sheet1
오고sheet2
sheet3
열 2 (이름)와 6 (Postanumber)을 비교하여이 두 테이블을 다른 테이블에 병합sheet3
sheet3
준비 후 모든 고객을 다른 시스템으로 내보내기위한 foreach
루프를 수행하고 sheet3
있습니다.데이터베이스에 연결하고 두 테이블을 병합하여 두 테이블에서 모든 고객을 얻을 수있는 C # 코드로 시작했습니다.
아이디어를 얻기 위해 DataGrid로 시작했습니다.
private Task<DataView> GetDataAsync()
{
return Task.Run(() =>
{
string connectionStringDE = "Driver={Pervasive ODBC Client Interface};ServerName=DE875;dbq=@DEDBFS;Uid=DEUsername;Pwd=DEPassword;";
string queryStringDE = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";
string connectionStringFR = "Driver={Pervasive ODBC Client Interface};ServerName=FR875;dbq=@FRDBFS;Uid=FRUsername;Pwd=FRPassword;";
string queryStringFR = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";
DataTable dataTable = new DataTable("COMPANY");
// using-statement will cleanly close and dispose unmanaged resources i.e. IDisposable instances
using (OdbcConnection dbConnectionDE = new OdbcConnection(connectionStringDE))
{
dbConnectionDE.Open();
OdbcDataAdapter dadapterDE = new OdbcDataAdapter();
dadapterDE.SelectCommand = new OdbcCommand(queryStringDE, dbConnectionDE);
dadapterDE.Fill(dataTable);
}
using (OdbcConnection dbConnectionFR = new OdbcConnection(connectionStringFR))
{
dbConnectionFR.Open();
OdbcDataAdapter dadapterFR = new OdbcDataAdapter();
dadapterFR.SelectCommand = new OdbcCommand(queryStringFR, dbConnectionFR);
var newTable = new DataTable("COMPANY");
dadapterFR.Fill(newTable);
dataTable.Merge(newTable);
}
return dataTable.DefaultView;
});
}
그러나 지식이 부족하기 때문에 sheet3
다른 시스템으로 내보내기 전에 모든 데이터 ( 1000 개 이상의 레코드가 있음) 를 저장하기 위해 C #에서 어떤 방법을 사용해야하는지 확신 할 수 없습니다 foreach
. 로컬 데이터베이스를 만들어야합니까 아니면 목록을 사용할 수 있습니까? 두 테이블의 모든 값을 두 개의 다른 목록 / 데이터베이스 테이블로 가져 와서 다른 테이블과 비교 / 병합해서는 안된다고 생각하지만 (현재 Excel VBA 설정에서 수행하는 것처럼) 연결시이 작업을 수행 할 수 있습니다. 목록 / 데이터베이스 테이블에 병합 및 할당?
그러나 지식이 부족하기 때문에 foreach를 사용하여 다른 시스템으로 내보내기 전에 모든 데이터 (sheet3, 1000 개 이상의 레코드가 있음)를 저장하기 위해 C #에서 어떤 방법을 사용해야하는지 확신 할 수 없습니다.
"무엇을 사용해야합니까?"는 주관적 / 의견을 기반으로하며 여기에서 실제로 대답 할 수 없습니다. 일반 컬렉션이나 데이터 세트 / 데이터 테이블과 같이 합리적인 자습서를 찾을 수있는 모든 것이 이처럼 작은 데이터 세트를 쉽게 처리 할 수 있다고 말할 수 있습니다.
로컬 데이터베이스를 만들어야합니까 아니면 목록을 사용할 수 있습니까?
둘 중 하나를 할 수 있지만 정보를 유지하는 경우에만 데이터베이스를 사용합니다. 데이터 저장에 대한 필요성이 일시적인 것처럼 들리므로 메모리 내 데이터 컬렉션을 사용합니다.
두 테이블의 모든 값을 두 개의 다른 목록 / 데이터베이스 테이블로 가져 와서 다른 테이블과 비교 / 병합해서는 안된다고 생각합니다.
왜 안되는지 모르겠어
그러나 연결, 병합 및 목록 / 데이터베이스 테이블에 할당 할 때이 작업을 수행 할 수 있습니까?
두 세트의 데이터를 다른 하나가있는 데이터베이스에 업로드하고 데이터베이스가 병합하도록하여 두 세트의 데이터를 병합 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다