一区二区无码18禁_一级做a过程免费在线观看_亚洲аv电影天堂网最新_肥胖bbwwbbww高潮

新聞中心

智慧檔案管理與大數(shù)據(jù)解決方案的領(lǐng)航者,讓信息價值超越期待

winform圖書館管理系統(tǒng)

時間:2023-02-02 作者:老師 來源:網(wǎng)絡(luò) 點擊量:

winform圖書館管理系統(tǒng)

Visual Studio版本:Enterprise 2015

.net 版本:.NET Framework4.5

Sqlserver版本:2008R2

01

本節(jié)內(nèi)容

在第四節(jié)中,主要講了登錄用戶的增刪改查頁面,本節(jié)課,我們來看一下書籍的錄入。簡單的來說就是書籍進銷存之前,先要錄入書籍信息,然后才可以對數(shù)據(jù)進行進銷存操作。

02

新建書籍表

首先要新建書籍,基本信息為書號,書名,出版社,作者和售價。這里以書號作為唯一值,不能重復(fù)。數(shù)據(jù)表如下:

winform圖書館管理系統(tǒng)

BookID:書籍ID,int類型,自增。

BookNO:書號,主鍵,唯一值。

BookName:書名

BookPress:出版社

BookAuthor:作者

CreateTime:創(chuàng)建時間

BookCount:數(shù)量

BookPrice:價格

BookStatus:狀態(tài),1正常,0已下架

winform圖書館管理系統(tǒng)

03

頁面設(shè)計

書籍管理中新增書籍列表菜單。

書籍列表中可以查看當(dāng)前所有書籍的信息,可以新增,修改和刪除。

04

功能代碼

新增頁面可以添加書籍信息,只需填寫書號,出版社,書名,作者和價格,數(shù)量是不需要填寫的,后面可以根據(jù)進銷自動計算。防止人工輸錯。保存代碼:

因為新增和編輯都是同一個頁面,所以會有Type的參數(shù)來區(qū)分新增和編輯,Type等于1是新增,Type等于2是編輯。頁面的關(guān)閉,拖動前面章節(jié)有介紹就不重復(fù)了。

上面是列表頁面中的新增和編輯,可以看到新增時,Type的值給的是1,更新時Type的值是2,同時還給了BookID,這樣就可以通過BookID找到對應(yīng)書籍的信息。

05

運行結(jié)果

06

總結(jié)預(yù)告

回復(fù)“ C#WinForm界面設(shè)計教程 ”獲取gitee源碼下載地址,主要是WinForm基本控件的使用講解。這個基本控件的使用都有介紹。

我寫了一個WINFORM的圖書管理系統(tǒng),連接的本地數(shù)據(jù)庫,我把EXE文件傳給其他人,在另一臺電腦上使用

有幾種方案可供選擇。

1、在另外一臺電腦上面, 安裝數(shù)據(jù)庫。 然后把你本機的數(shù)據(jù)庫導(dǎo)出, 然后導(dǎo)入到另外一臺機器上面。

2、修改程序的 數(shù)據(jù)庫連接的 配置信息, 由原有的 連接本機的 localhost 修改為你 電腦的 ip地址。 同時你需要保證 你的機器一直是開的, 并且和目標(biāo)機器能聯(lián)網(wǎng)。 你還需要設(shè)置你的數(shù)據(jù)庫, 允許外部訪問。

3、修改部分代碼, 把數(shù)據(jù)庫 換成 SQLite 或者 Access 這一類的數(shù)據(jù)庫。 這樣, 數(shù)據(jù)庫本身就僅僅是一個文件, 到時候,隨便復(fù)制到哪臺機器上面運行, 都沒有問題。

c#winform圖書管理系統(tǒng)

我也有 功能也不算強 可以給你 代碼 QQ 593781400

我寫了一個WINFORM的圖書管理系統(tǒng),連接的本地數(shù)據(jù)庫,我把EXE文件傳給其他人,在另一臺電腦上使用

有幾種方案可供選擇。
1、在另外一臺電腦上面,
安裝數(shù)據(jù)庫。
然后把你本機的數(shù)據(jù)庫導(dǎo)出,
然后導(dǎo)入到另外一臺機器上面。
2、修改程序的
數(shù)據(jù)庫連接的
配置信息,
由原有的
連接本機的
localhost
修改為你
電腦的
ip地址。
同時你需要保證
你的機器一直是開的,
并且和目標(biāo)機器能聯(lián)網(wǎng)。
你還需要設(shè)置你的數(shù)據(jù)庫,
允許外部訪問。
3、修改部分代碼,
把數(shù)據(jù)庫
換成
SQLite
或者
Access
這一類的數(shù)據(jù)庫。
這樣,
數(shù)據(jù)庫本身就僅僅是一個文件,
到時候,隨便復(fù)制到哪臺機器上面運行,
都沒有問題。

c#小型圖書管理系統(tǒng)

里面// // 里的全都是注釋

#include <iostream>
#include <iomanip>
#include <string>
//輸入/輸出文件流類
#include <fstream>
using namespace std;
//最多的讀者
const int Maxr=100;
//最多的圖書
const int Maxb=100;
//每位讀者最多借五本書
const int Maxbor=5;

//讀者類,實現(xiàn)對讀者的信息的描述
class Reader
{
private:
//刪除標(biāo)記 1:已刪 0:未刪
int tag;
//讀者編號
int no;
//讀者姓名
char name[10];
//所借圖書
int borbook[Maxbor];
public:
Reader()
{
;
}
//獲取姓名
char *getname()
{
return name;
}
//獲取刪除標(biāo)記
int gettag()
{
return tag;
}
//獲取讀者編號
int getno()
{
return no;
}
//設(shè)置姓名
void setname(char na[])
{
strcpy(name,na);

}
//設(shè)置刪除標(biāo)記 1:已刪 0:未刪
void delbook()
{
tag=1;
}
//增加讀者
void addreader(int n,char *na)
{
tag=0;
no=n;
strcpy(name,na);
for(int i=0;i<Maxbor;i++)
borbook[i]=0;
}
//借書操作
void borrowbook(int bookid)
{
for(int i=0;i<Maxbor;i++)
{
if (borbook[i]==0)
{
borbook[i]=bookid;
return;

}
}

}
//還書操作
int retbook(int bookid)
{
for(int i=0;i<Maxbor;i++)
{
if(borbook[i]==bookid)
{
borbook[i]=0;
return 1;

}
}
return 0;
}
//讀出讀者信息
void disp()
{
cout << setw(5) << no <<setw(10) << name<<"借書編號:[";
for(int i=0;i<Maxbor;i++)
if(borbook[i]!=0)
cout << borbook[i] << "|";
cout << "]"<<endl;

}
};

//讀者類庫,實現(xiàn)建立讀者的個人資料
class RDatabase
{
private:
//讀者記錄指針
int top;
//讀者記錄
Reader read[Maxr];
public:
//構(gòu)造函數(shù),將reader.txt讀到read[]中
RDatabase()
{
Reader s;
top=-1;
//打開一個輸入文件
fstream file("reader.txt",ios::in);
while (1)
{
file.read((char *)&s,sizeof(s));
if (!file)break;
top++;
read[top]=s;
}
//關(guān)閉 reader.txt
file.close();
}
//刪除所有讀者信息
void clear()
{
top=-1;
}
//添加讀者時先查找是否存在
int addreader(int n,char *na)
{
Reader *p=query(n);
if (p==NULL)
{
top++;
read[top].addreader(n,na);
return 1;
}
return 0;

}
//按編號查找
Reader *query(int readerid)
{
for (int i=0;i<=top;i++)
if (read[i].getno()==readerid &&
read[i].gettag()==0)
{
return &read[i];
}
return NULL;
}
//輸出所有讀者信息
void disp()
{
for (int i=0;i<=top;i++)
read[i].disp();
}
//讀者庫維護
void readerdata();
//析構(gòu)函數(shù),將read[]寫到reader.txt文件中
~RDatabase()
{
fstream file("reader.txt",ios::out);
for (int i=0;i<=top;i++)
if (read[i].gettag()==0)
file.write((char *)&read[i],sizeof(read[i]));
file.close();

}
};
void RDatabase::readerdata()
{

char choice;
char rname[20];
int readerid;
Reader *r;
while (choice!='0')
{
cout <<"\n\n\t\t\t讀 者 維 護\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 刪 除\n\n\t\t 4 查 找\n\n\t\t 5 顯 示\n\n\t\t 6 全 刪\n\n\t\t 0 退 出"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout << "輸入讀者編號:";
cin >> readerid;
cout << "輸入讀者姓名:";
cin >> rname;
addreader (readerid,rname);
break;
case '2':
cout << "輸入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout << " 該讀者不存在 "<<endl;
break;
}
cout << "輸入新的姓名:";
cin >> rname;
r->setname(rname);
break;
case '3':
cout << " 輸入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<" 該讀者不存在" << endl;
break;
}
r->delbook();
break;
case '4':
cout << "讀入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<"該讀者不存在"<< endl;
break;
}
r->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"輸入錯誤,請從新輸入:";break;
}
}
}

//圖書類,實現(xiàn)對圖書的描述,圖書的編號,書名,借出,還入等
class Book
{
private:
//刪除標(biāo)記 1:已刪 0:未刪
int tag;
//圖書編號
int no;
//書名
char name[20];
//是否再架 1:再架 2:已借
int onshelf;
public:
Book(){}
//獲取姓名
char *getname() { return name; }
//獲取圖書編號
int getno(){ return no; }
//獲取刪除標(biāo)記
int gettag(){ return tag; }
//設(shè)置書名
void setname(char na[])
{
strcpy(name,na);
}
//刪除圖書
void delbook(){ tag=1;}
//增加圖書
void addbook(int n,char *na)
{
tag=0;
no=n;
strcpy(name,na);
onshelf=1;
}
//借書操作
int borrowbook()
{
if (onshelf==1)
{
onshelf=0;
return 1;
}
return 0;
}
//還書操作
void retbook()
{
onshelf=1;
}
//輸出圖書
void disp()
{
cout << setw(6) << no << setw(18) << name << setw(10)
<<(onshelf==1? "在架":"已借") <<endl;
}
};

//圖書庫類,實現(xiàn)對圖書的維護,查找,刪除等
class BDatabase
{
private:
//圖書記錄指針
int top;
//圖書記錄
Book book[Maxb];
public:
//構(gòu)造函數(shù),將book.txt讀到book[]中
BDatabase()
{
Book b;
top=-1;
fstream file("book.txt",ios::in);
while (1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
top++;
book[top]=b;
}
file.close();
}
//全刪
void clear()
{
top=-1;
}
//增加圖書
int addbook(int n,char *na)
{
Book *p=query(n);
if (NULL==p)
{
top++;
book[top].addbook(n,na);
return 1;
}
return 0;
}
//查找圖書
Book *query(int bookid)
{
for (int i=0;i<=top;i++)
if (book[i].getno()==bookid &&book[i].gettag()==0)
{
return &book[i];
}
return NULL;
}
//圖書庫維護
void bookdata();
void disp()
{
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
book[i].disp();
}
//析構(gòu)函數(shù),將book[]寫到book.txt文件中
~BDatabase()
{
fstream file("book.txt",ios::out);
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
file.write((char *)&book[i],sizeof(book[i]));
file.close();
}
};
void BDatabase::bookdata()
{
char choice;
char bname[40];
int bookid;
Book *b;
while (choice!='0')
{
cout <<"\n\n\n\t\t\t圖 書 維 護 "<<endl<<endl;
cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 刪 除\n\t\t4 查 找\n\t\t5 顯 示\n\t\t6 全 刪\n\t\t0 退 出"<<endl;
cin >> choice;
switch (choice)

{
case '1':
cout << "輸入圖書編號:"<<endl;
cin >> bookid;
cout << "輸入圖書書名:"<<endl;
cin >> bname;
addbook(bookid,bname);
break;
case '2':
cout << "輸入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout << " 該圖書不存在 "<<endl;
break;
}
cout << "輸入新的書名:"<<endl;
cin >> bname;
b->setname(bname);
break;
case '3':
cout <<" 讀入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 該圖書不存在" << endl;
break;
}
b->delbook();
break;
case '4':
cout << " 讀入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 該圖書不存在"<< endl;
break;
}
b->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"輸入錯誤,請從新輸入:";
}
}
}

//main() 函數(shù)的實現(xiàn),程序的主界面的引導(dǎo)

int main()
{
char choice;
int bookid,readerid;
RDatabase ReaderDB;
Reader *r;
BDatabase BookDB;
Book *b;
while(choice!='0')
{
cout <<endl<<endl<<"\t\t\t 圖 書 管 理 系 統(tǒng)\n\n\n";

cout <<"\t\t\t1 借 書\n\n\t\t\t2 還 書 \n\n\t\t\t3 圖 書 維 護\n\n\t\t\t4 讀 者 維 護\n\n\t\t\t0 離 開"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout <<" 借書 讀者編號:";
cin >>readerid;
cout <<" 圖書編號: ";
cin >>bookid;
//按編號查找
r=ReaderDB.query(readerid);
if (NULL==r)
{
cout <<" 不存在該讀者,不能借書"<< endl;
break;
}
b=BookDB.query(bookid);
if (b==NULL)
{
cout <<" 不存在該圖書,不能借書"<< endl;
break;
}
if (b->borrowbook()==0)
{
cout << " 該圖書已借出,不能借書"<< endl;
break;
}
r->borrowbook(b->getno());
break;
case '2':
cout<<"還書\n 讀者編號:";
cin >>readerid;
cout << " 圖書編號:";
cin >>bookid;
r=ReaderDB.query(readerid);
if (r==NULL)
{
cout <<" 不存在該讀者,不能還書" << endl;
break;
}
b=BookDB.query(bookid);
if (b==NULL)
{
cout <<" 不存在該圖書,不能還書" <<endl;
break;
}
b->retbook();
r->retbook(b->getno());
break;
case '3':
BookDB.bookdata();
break;
case '4':
ReaderDB.readerdata();
break;
default:cout<<"輸入錯誤,請從新輸入:";

}
}
}
其中main函數(shù)是int型的,是因為在devcpp下編程造成的,其他程序報錯請改為void型。

標(biāo)簽

相關(guān)資訊

檔案整理檔案數(shù)字化

檔案掃描檔案管理軟件系統(tǒng)

TEL:18937133779