0
일부 정보는 Access 데이터베이스에 전달하려고 시도하지만 ExecuteNonQuery()
을 올바르게 사용하고 있는지 확실하지 않습니다. 다음은 내가 사용하고있는 코드입니다.OleDbConnection - 전달되는 모든 정보가 아닙니다.
public void WriteToDB(string connStr, string tblName)
{
string[] accounts = { "@ID", "@Date", "@Line Item", "@Ranking Item", "@Item Attribute", "@Current_Period_Ranking(b)" };
OleDbConnection conn = new OleDbConnection(connStr);
conn.Open();
OleDbCommand CmdSQL = new OleDbCommand(string.Format("Insert into [{0}] ([ID], [Date], [Line Item], [Ranking Item], [Ranking]) VALUES(?,?,?,?,?)",tblName),conn);
CmdSQL.Parameters.AddWithValue("@ID", 1);
CmdSQL.Parameters.AddWithValue("@Date", "6/20/2016");
CmdSQL.Parameters.AddWithValue("@Line Item", this.ItemName);
CmdSQL.Parameters.AddWithValue("@Ranking Item", "Ranking");
CmdSQL.Parameters.AddWithValue("@Ranking", this.Rank.GetLineItem(3));
CmdSQL.ExecuteNonQuery();
CmdSQL.Parameters.AddWithValue("@ID", 2);
CmdSQL.Parameters.AddWithValue("@Date", "6/20/2016");
CmdSQL.Parameters.AddWithValue("@Line Item", this.ItemName);
CmdSQL.Parameters.AddWithValue("@Ranking Item", "Price");
CmdSQL.Parameters.AddWithValue("@Ranking", this.Price);
CmdSQL.ExecuteNonQuery();
CmdSQL.Parameters.AddWithValue("@ID", 3);
CmdSQL.Parameters.AddWithValue("@Date", "6/20/2016");
CmdSQL.Parameters.AddWithValue("@Line Item", this.ItemName);
CmdSQL.Parameters.AddWithValue("@Ranking Item", "Pounds");
CmdSQL.Parameters.AddWithValue("@Ranking", this.Pounds);
CmdSQL.ExecuteNonQuery();
CmdSQL.Parameters.AddWithValue("@ID", 4);
CmdSQL.Parameters.AddWithValue("@Date", "6/20/2016");
CmdSQL.Parameters.AddWithValue("@Line Item", this.ItemName);
CmdSQL.Parameters.AddWithValue("@Ranking Item", "Opportunity");
CmdSQL.Parameters.AddWithValue("@Ranking", this.Opportunity);
CmdSQL.ExecuteNonQuery();
}
이 코드를 실행할 때 Access DB는 1을 표시합니다. 같은 명령을 사용하고 있기 때문에
또한 날짜에 : 그것은 내가 작성한 외부 DLL입니다. VBA와 통신 할 것이므로 날짜를 문자열로 전달한 다음 날짜로로드 할 것입니다. 아직 그 부분에 대한 legwork을하지 않았습니다. 이것은 부하가 작동하는지 확인하는 것입니다. 그래도 도와 줘서 고마워! – jDave1984