我有一個數據庫,我插入一些數據。我遇到的問題是,它會添加更多的數據,然後它應該。將數據添加到數據庫時出現問題(更多數據/參數添加)
當logfordb.pos增加它會增加所有prevoius數據的一個更多的時間和下一次會更加增加。
這裏是代碼...一些減少康恩字符串和參數應用的。
public void WriteToDatabase(DatabaseLog logfordb)
{
conn.Open();
var cmd = new SqlCommand();
cmd.CommandText = "Insert INTO [X] (Y, Z, C " + "Values (@val1, @val2, @val3";
for (int index = 0; index < logfordb.ListofDB[logfordb.pos].X.Count; index++)
{
cmd.Connection = conn;
cmd.Parameters.Clear();
if (logfordb.ListofDB[logfordb.pos].X[index].Details != null)
{
cmd.Parameters.AddWithValue("@val1", logfordb.ListofDB[logfordb.pos].X[index].Details.Age);
cmd.Parameters.AddWithValue("@val2", logfordb.ListofDB[logfordb.pos].X[index].Details.Name);
cmd.Parameters.AddWithValue("@val3", logfordb.ListofDB[logfordb.pos].X[index].Details.Etc);
cmd.ExecuteNonQuery();
}
}
conn.Close();
logfordb.pos += 1;
}
它應該添加多少數據?顯然「pos + = 1」導致了這個問題。 – 2012-07-19 14:58:19
應該添加所有的調查結果列表(ListofDB),其中pos是列表 – user1513932 2012-07-19 15:01:26
你總是從零開始for循環的索引值,因此你再次將所有數據 – 2012-07-19 15:02:29