110,499
社区成员
发帖
与我相关
我的任务
分享
//修改窗体加载时,同时加载修改的数据
private void FrmUpdateBook_Load(object sender, EventArgs e)
{
FrmMain fm = new FrmMain();
BindTypeAndPub();
txtUpIsbn.Text = _upbookisbn;
txtUpBookName.Text = _upbookname;
txtUpAuthor.Text = _upauthor;
txtUpBookClick.Text = _upbookclicks.ToString();
txtUpBookCount.Text = _upbookcount.ToString();
txtUpBookIntro.Text = _upbookintru;
txtUpBookPrice.Text = _upbookprice.ToString();
txtUpBookTOC.Text = _upbooktoc;
txtUpWordCount.Text = _upbookwordcount.ToString();
cmbUpPub.Text= _uppublisher;
cmbUpType.Text = _upbooktype;
dtpUp.Value =Convert.ToDateTime( _uppubdate);
}
//修改图书的方法
public void UpdateBookShow()
{
BookInfo book = new BookInfo();
book.ISBN = this.txtUpIsbn.Text;
book.BookName = this.txtUpBookName.Text;
book.Author = this.txtUpAuthor.Text;
book.BookClicks = Convert.ToInt32(this.txtUpBookClick.Text);
book.BookCount = Convert.ToInt32(this.txtUpBookCount.Text);
book.BookIntru = this.txtUpBookIntro.Text;
book.BookPrice = Convert.ToDouble(this.txtUpBookPrice.Text);
book.BookStatus = BookStatus.Normal;
book.WordCount = Convert.ToInt32(this.txtUpWordCount.Text);
book.PubDate = this.dtpUp.Value;
book.TOC = this.txtUpBookTOC.Text;
book.PubId = Convert.ToInt32(this.cmbUpPub.SelectedValue);
book.TypeId = Convert.ToInt32(this.cmbUpType.SelectedValue);
bim.UpdateBook(book);
}
//弹出修改窗体的方法
public void BindUpdateBook()
{
FrmUpdateBook fu = new FrmUpdateBook();
string isbn = lsvBook.SelectedItems[0].Text;
BookInfoManager bookinfomanager = new BookInfoManager();
BookTypeManager booktypemanager = new BookTypeManager();
PublisherManager pub = new PublisherManager();
Publisher publisher = new Publisher();
BookType booktype = new BookType();
BookInfo book = bookinfomanager.GetBookByISBN(isbn);
fu._upbookisbn = lsvBook.SelectedItems[0].Text;
fu._upbookname = lsvBook.SelectedItems[0].SubItems[1].Text;
fu._upauthor = lsvBook.SelectedItems[0].SubItems[2].Text;
fu._upbooktype = lsvBook.SelectedItems[0].SubItems[3].Text;
fu._upbookprice = Convert.ToDouble(lsvBook.SelectedItems[0].SubItems[4].Text);
fu._uppublisher = lsvBook.SelectedItems[0].SubItems[5].Text;
fu._uppubdate = lsvBook.SelectedItems[0].SubItems[6].Text;
fu._upbookclicks = book.BookClicks;
fu._upbookcount = book.BookCount;
fu._upbookintru = book.BookIntru;
fu._upbooktoc = book.TOC;
fu._upbookwordcount = book.WordCount;
fu.Show();
}
public event EventHandler UpdateBookInfo;
public void UpdateBookShow()
{
.....
.....
// 添加
if(UpdateBookInfo!=null)
UpdateBookInfo(this,null);
}
主窗体:在BindUpdateBook添加注册事件代码
public void BindUpdateBook()
{
FrmUpdateBook fu = new FrmUpdateBook();
fu.UpdateBookInfo+=FrmUpdateBook_UpdateBookInfo;
}
void FrmUpdateBook_UpdateBookInfo(object sender,EventArgs e)
{
//调用你绑定listview的方法
}
string PicName = txtUpIsbn.Text;
string fileName = this.txtUpPicFile.Text;
Image image = Image.FromFile(fileName);
Bitmap saveImage = new Bitmap(image);
image.Dispose();
saveImage.Save("Images/" + PicName + fileName.Substring(fileName.LastIndexOf('.')),saveImage.RawFormat);
saveImage.Dispose();
private void btnUp_Click(object sender, EventArgs e)
{
string PicName = txtUpIsbn.Text;
string fileName = this.txtUpPicFile.Text;
using (FileStream fsClient = new FileStream(fileName, FileMode.OpenOrCreate))
{
using (FileStream fsServer = new FileStream("Images/" + PicName + fileName.Substring(fileName.LastIndexOf('.')), FileMode.Create))
{
fsClient.CopyTo(fsServer);
}
}
UpdateBookShow();
MessageBox.Show("修改成功", "提示");
this.Close();
}
//主窗体获取的图片代码
public void ShowListView()
{
string isbn = lsvBook.SelectedItems[0].Text;
BookInfoManager bookinfomanager = new BookInfoManager();
BookTypeManager booktypemanager = new BookTypeManager();
PublisherManager pub = new PublisherManager();
Publisher publisher = new Publisher();
BookType booktype = new BookType();
BookInfo book = bookinfomanager.GetBookByISBN(isbn);
textBox1.Text = book.BookName.ToString();
textBox2.Text = book.Author.ToString();
lblPub.Text = book.Publisher.PubName.ToString();
lblPubDate.Text = book.PubDate.ToShortDateString();
lblClicks.Text = book.BookClicks.ToString();
lblPrice.Text = book.BookPrice.ToString();
picBook.Image = Image.FromFile(("Images\\"+book.ISBN+".jpg"));
lblWordCount.Text = book.WordCount.ToString();
lblType.Text = book.BookType.TypeName.ToString();
lblCount.Text =book.BookCount.ToString();
txtTOC.Text = book.TOC.ToString();
txtInstru.Text = book.BookIntru.ToString();
}
还可不可以给我说下修改完后,如何让主窗体的listview同时刷新数据
非常感谢耐心回答
"update BookInfo set BookName='" + book.BookName + "',Author='" + book.Author + "',PubDate='" + book.PubDate + "',WordCount='" + book.WordCount + "',BookIntru='" + book.BookIntru + "',BookPrice='" + book.BookPrice + "',TypeId='" + book.TypeId + "',PubId='" + book.PubId + "',TOC='" + book.TOC + "',BookStatus='" + (int)book.BookStatus + "',BookCount='" + book.BookCount + "',BookClicks='" + book.BookClicks + "' where ISBN='" + book.ISBN + "'"
public int Update(BookInfo book)
{
//补齐
string sql = string.Format("update BookInfo set BookName='" + book.BookName + "',Author='" + book.Author + "',PubDate='" + book.PubDate + "',WordCount='" + book.WordCount + "',BookIntru='" + book.BookIntru + "',BookPrice='" + book.BookPrice + "',TypeId='" + book.TypeId + "',PubId='" + book.PubId + "',TOC='" + book.TOC + "',BookStatus='" + (int)book.BookStatus + "',BookCount='" + book.BookCount + "',BookClicks='" + book.BookClicks + "'");
int row = helper.RunCommand(sql);
return row;
}
//修改图书
public bool UpdateBook(BookInfo book)
{
return bis.Update(book) > 0;
}
我用的三层结构