我創建一個web應用程序中,我需要在我darabase插入多個陣列,這是它是什麼樣子將與foreach循環C#的多陣列
List<string> td = tdate.Split(',').ToList();
//List<string> ps = particular.Split(',').ToList();
int i = 0;
foreach (string t in td)
foreach (string p in ps)
{
SqlCommand cmd = new SqlCommand("insert into finalinstructoreexpense(sonvinid,particulars,amount,totalamt,date,utno,paymentid,paymode,issuedate,sondate,trainer,type,bank_id) values(@sonvinid,@particulars,@amount,@totalamt,@date,@utno,@paymentid,@paymode,@issuedate,@sondate,@trainer,@type,@bank_id)", con);
con.Open();
cmd.Parameters.Add("@sonvinid", SqlDbType.Int).Value =Convert.ToInt32(id);
cmd.Parameters.Add("@particulars", SqlDbType.NVarChar).Value = p;
cmd.Parameters.Add("@amount",SqlDbType.Float).Value=adjamt.Split(',')[i];
cmd.Parameters.Add("@totalamt", SqlDbType.NVarChar).Value = total;
cmd.Parameters.Add("@date", SqlDbType.DateTime).Value = date.Split(',')[i];
cmd.Parameters.Add("@utno", SqlDbType.NVarChar).Value = utrno;
cmd.Parameters.Add("@paymentid",SqlDbType.NVarChar).Value=paymentid;
cmd.Parameters.Add("@paymode", SqlDbType.NVarChar).Value = modeofpayment;
cmd.Parameters.Add("@issuedate", SqlDbType.DateTime).Value = transferdate;
cmd.Parameters.Add("@sondate", SqlDbType.DateTime).Value = t;
cmd.Parameters.Add("@trainer", SqlDbType.NVarChar).Value = trainer;
cmd.Parameters.Add("@type", SqlDbType.NVarChar).Value = typeofadj;
cmd.Parameters.Add("@bank_id", SqlDbType.Int).Value = Convert.ToInt32(bnkid);
cmd.ExecuteNonQuery();
message = "Adjusted Amount Inserted Successfully";
con.Close();
}
這個問題是我有4個陣列中串i.e tdate,particular,adjamt,date
的形式和參數看上去像
tdate(01-01-2013,03-01-2013)
particular(105,100)
adjamt(500,650)
date(2015,2016)
,這是我多麼希望在數據庫中輸入記錄
(01-01-2013,105,500,2015)
(03-01-2013,100,650,2016)
,但是這是怎麼它實際上是在我databas
(01-01-2013,105,500,2015)
(03-01-2013,105,500,2015)
插入它意味着只有tdate工作正常,但其他參數的值不更換和插入的第一個值而已,我需要做的,如果我想進入記錄propely
http://stackoverflow.com/questions/3653462/is-存儲分隔列表中的數據庫列真的那壞/ 3653574 – e4c5