2017-12-29 9 views
0
protected void btnsubmit_Click(object sender, EventArgs e) 
{ 
    string fileName = ""; 
    foreach (HttpPostedFile postedFile in imgupld.PostedFiles) 
    { 
     fileName = Path.GetFileName(postedFile.FileName); 
     postedFile.SaveAs(Server.MapPath("~/ADMINDASHBOARD/EVENT/" + fileName)); 
     ev.PHOTOS = fileName; 
    } 
    ev.TITLE = txttitle.Text.Trim(); 
    ev.YER = Convert.ToInt32(ddlyear.SelectedValue); 
    objlayer.saveevents(ev); 
} 

複数のイメージをEventという名前のフォルダに保存します。すべてのイメージはフォルダに保存されていますが、PHOTOSという名前のデータベース列には1つのイメージしか保存されません。私は、すべての画像をPHOTOS列の単一の列セルに一度に保存したいと考えています。 PHOTOS列のデータ型はvarchar(max)です。複数のイメージを文字列変数に格納して、その変数をテーブルオブジェクトに渡して単一のデータベース列に保存できるようにする必要があります。

編集:

public void saveevents(CONNECTION.EVNT ev) 
{ 
    ev.CRDT = DateTime.Now; 
    ev.ISACT = 0; 
    con.da.EVNTs.InsertOnSubmit(ev); 
    con.da.SubmitChanges(); 
} 

答えて

0

saveventsコールは(私はあなたがデータベースに保存されている場合saveeventsであると仮定しています)foreachの外にあります。試してみてください:

foreach (HttpPostedFile postedFile in imgupld.PostedFiles) 
    { 
     fileName = Path.GetFileName(postedFile.FileName); 
     postedFile.SaveAs(Server.MapPath("~/ADMINDASHBOARD/EVENT/" + fileName)); 
     ev.PHOTOS = fileName; 
     ev.TITLE = txttitle.Text.Trim(); 
     ev.YER = Convert.ToInt32(ddlyear.SelectedValue); 
     objlayer.saveevents(ev); 
    } 

evオブジェクトが初期化されていないことに注意してください。各ループに新しいオブジェクトを作成する方が良いソリューションです。私の場合、私は自分のエンティティにIdプロパティを追加します。 Id == 0なら新しいエンティティ、Id!= 0ならばSaveメソッドはそれを更新として扱います。コメントの後に

変更:

foreach (HttpPostedFile postedFile in imgupld.PostedFiles) 
    { 
     fileName = Path.GetFileName(postedFile.FileName); 
     postedFile.SaveAs(Server.MapPath("~/ADMINDASHBOARD/EVENT/" + fileName)); 
     CONNECTION.EVNT ev = new CONNECTION.EVNT(); //this line is new 
     ev.PHOTOS = fileName; 
     ev.TITLE = txttitle.Text.Trim(); 
     ev.YER = Convert.ToInt32(ddlyear.SelectedValue); 
     objlayer.saveevents(ev); 
    } 
+0

いやBro.Itさんが働いていません。 – Aman

+0

@Aman、saveeventsコードを投稿できますか? – mnieto

+0

public void saveevents(CONNECTION.EVNT ev) { ev.CRDT = DateTime.Now; ev.ISACT = 0; con.da.EVNTs.InsertOnSubmit(ev); con.da.SubmitChanges(); } – Aman

関連する問題