用C 與資料庫實現吃貨聯盟訂餐系統

2021-09-25 16:11:29 字數 4058 閱讀 8545

(大神勿噴,初學者以借鑑為主)

一共分為三個類分別是:program(啟動類),zhuang(封裝操作語句類),zuo(操作類)

資料庫表(如下):

1.菜袋表

2.菜品表

注意:菜袋表的dishmegs 和 菜品表的name 為主外來鍵關係 

3.管理員表

**部分(如下):

既然使用了資料庫那麼using還是要記得匯入的呦:

using system.data.sqlclient;

using system.data;

program(啟動類):

class program

}

zhuang(封裝操作語句類):

class zhuang

}else

_conn.open();

return _conn;}}

private sqlcommand _cmd;

public sqlcommand cmd

}//查詢executereader

public sqldatareader executereader(string sql)

//查詢executescalar

public object executescalar(string sql)

//增,刪,改executenonquery

public int executenonquery(string sql)

}

zuo(操作類):

class zuo}}

reader.close();

console.writeline("登入失敗!");

return;

}#endregion

//選單

#region 選單

public void caidan()

} while (huan);

}#endregion

//one:我要訂餐

#region 我要訂餐

public void dingdan() \t\t\t",reader["caiid"],reader["name"], reader["money"], reader["zan"]);}}

reader.close();

console.writeline("請輸入您要點的菜品編號:");

int bianhao = int.parse(console.readline());

sqldatareader reader1 = zhang.executereader(sql);

string caipinname = null;//菜品名稱

double danjia = 0.0;//菜品單價

while (reader1.read())

}if (caipinname == null)

reader1.close();

console.writeline("請輸入您的需要的份數:");

int fenshu = int.parse(console.readline());

console.writeline("請輸入送餐時間(送餐時間是10~20點間整點送餐):");

int shijian = int.parse(console.readline());

if (shijian<10 || shijian>20)

string dizhi = console.readline(); //狀態中0表示以預定,1表示已完成

double zje = 0.0;//總金額

const int yunfei = 5;//運費

if (danjia * fenshu < 50)

else

string sql1 = "insert into usercaidan values ('"+names+"','"+ caipinname + "',"+ fenshu + ","+ shijian + ",'"+ dizhi + "','0','"+ zje + "')";

int result = zhang.executenonquery(sql1);

if (result == 1)

else

fanhui();//返回

}#endregion

//two:檢視菜袋

#region 檢視菜袋

public void lookcaidai() \t\t\t\t\t\t\t\t",reader["userid"], reader["name"], reader["dishmegs"].tostring()+reader["fenshu"]+"份", reader["times"], reader["address"], reader["sumprices"], tai);}}

reader.close();

fanhui();//返回

}#endregion

//three:簽收訂單

#region 簽收訂單

public void qianshou()

else

fanhui();//返回

}#endregion

//four:刪除訂單

#region 刪除訂單

public void deletedingdan()

}reader.close();

if (qianshou)

else

else

}fanhui();//返回

}#endregion

//five:我要點贊

#region 我要點贊

public void izan() \t\t\t", reader["caiid"], reader["name"], reader["money"], reader["zan"]);}}

reader.close();

console.writeline("請輸入您要點贊的菜品序號:");

int bianhao = int.parse(console.readline());

sqldatareader reader1 = zhang.executereader(sql);

bool cunzai = true;

while (reader1.read())

}if (cunzai)

reader1.close();

string sql2 = "update caidan set zan = zan+1 where caiid = "+ bianhao + "";

int gai = zhang.executenonquery(sql2);

if (gai == 1)

else

fanhui();//返回

}#endregion

//輸入0返回方法

#region 輸入0返回方法

public void fanhui() while (shuru != 0);

caidan();

}#endregion

}

封裝類有寶寶們還不懂的請開啟:

用C語言實現簡單的學生資料庫管理系

p2 next p1 printf 學生 d新增成功 n num return p2 p2 next void del student struct student head printf 請輸入要刪除學生的學號 scanf d num char name 10 while p2 if p2 nex...

用C 備份與恢復資料庫

sqlconnection conn new sqlconnection strconn strconn 為資料庫連線字串 conn.open 備份 string strsql use database database為資料庫名 declare sql nvarchar 2000 declare ...

用C 實現的資料庫抽象工廠 一

用c 實現的資料庫抽象工廠 一 最近學習了一下設計模式,便嘗試用c 對資料庫的訪問操作採用抽象工廠的模式實現一下,其中與標準的模式略有不同,加入了一些自己的想法,希望大家批評指正,共分為6個類 1 abstractdbfactory.cs using system using system.data...