c# sql 多个checkbox (求教 急)
求教,c# 制造winform,
1. (重点解决)想checkbox打勾时,sql table fdOrder 增加信息
1. 例如:
顾客1(房间001)打勾checkbox:Ba(3Qty),Bb(2Qty),La(5Qty) --》 当摁Confirm,sql 数据增加三行
每行数据如下:
fdSeqId, fdRmId, fdCusId, fdDate, fdItem1,fdItem2,fdItem2,fdPrice,fdQty
1 | 001(form要求输入)| 1| datepick(form要求输入)| 51|01|20|3
2 | 001(form要求输入)| 1| datepick(form要求输入)| 51|02|15|2
3 | 001(form要求输入)| 1| datepick(form要求输入)| 52|01|35|5
如此类推。。。
2. 如何从sql查找fdCusId(由顾客输入房间号(tbRm) 和 日期(datepick)得出顾客号码 到时 到时用来存入tfdOrder)
sql table 如下:
tFdOrder:
fdSeqId | fdRmId | fdCusId | fdDate | fdItem1 | fdItem2 | fdItem2 | fdPrice | fdQty
tCustomer:
cusSeqId | cusName1 | cusName2 | cusPhone | cusEmail1 | cusEmail2
tRoom:
rmId | rmType | rmResSrt | rmResEnd | rmChkStr | rmChkEnd
tUsageRm:
usgSeqId | usgRmId | usgResSrt | rmResEnd | rmChkStr | rmChkEnd |...| usgCusId
[code=csharp]
// MakeOrder.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication1
{
public partial class MakeOrder : Form
{
SqlConnection con = new SqlConnection("Data Source=SONY\\SQLEXPRESS;Initial Catalog=HoltelMan;Integrated Security=True");
public MakeOrder()
{
InitializeComponent();
}
private void MakeOrder_Load(object sender, EventArgs e)
{
groupBox1.Enabled = false;
}
private void button3_Click(object sender, EventArgs e)
{
if (tbRm.Text == "") MessageBox.Show("Please Enter Room Number", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
else { groupBox1.Enabled = true; tbTotal.Enabled = true; }
}
String datepick;
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
int diff = DateTime.Compare(dateTimePicker1.Value, DateTime.Now);
// MessageBox.Show(DateTime.Now.ToString()+ dateCheckIn.Value.ToString());
if (string.Compare(dateTimePicker1.Value.ToString().Substring(0, 10), DateTime.Now.ToString().Substring(0, 10)) < 0)
{
dateTimePicker1.Value = DateTime.Now;
// MessageBox.Show("Please Select valide Date!!! " + diff.ToString(), " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
datepick = dateTimePicker1.Value.ToString().Substring(6, 4) + dateTimePicker1.Value.ToString().Substring(0, 2)
+ dateTimePicker1.Value.ToString().Substring(3, 2);
}
dateTimePicker1.Focus();
// MessageBox.Show("din = " + dIn);
}
private void btnConfirm_Click(object sender, EventArgs e)
{
double price = 0.0;
int breakfast = 51;
int lunch = 52;
int dinner = 53;
string breakfastString = breakfast.ToString();
string lunchString = lunch.ToString();
string dinnerString = dinner.ToString();
if (chkBa.Checked) price += Int32.Parse(chkBa.Text) * double.Parse(numBa.Value.ToString());
if (chkBb.Checked) price += Int32.Parse(chkBb.Text) * double.Parse(numBb.Value.ToString());
if (chkLa.Checked) price += Int32.Parse(chkLa.Text) * double.Parse(numLa.Value.ToString());
if (chkLb.Checked) price += Int32.Parse(chkLb.Text) * double.Parse(numLb.Value.ToString());
if (chkDa.Checked) price += Int32.Parse(chkDa.Text) * double.Parse(numDa.Value.ToString());
if (chkDb.Checked) price += Int32.Parse(chkDb.Text) * double.Parse(numDb.Value.ToString());
MessageBox.Show(price.ToString());
tbTotal.Text = price.ToString();
MessageBox.Show("Confirm Food Order?", "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
con.Open();
int maxId = 0;
string strSQL = "SELECT MAX(fdSeqId) FROM tFdOrder";
SqlCommand cmd1 = new SqlCommand(strSQL, con);
SqlDataReader MyRead1 = cmd1.ExecuteReader();
if (MyRead1.Read())
{
maxId = (int)MyRead1[0] + 1;
}
MyRead1.Close();
strSQL = "INSERT INTO tFdOrder ( fdSeqId, fdRmId, fdCusId, fdDate, fdItem1, fdItem2,fdPrice,fdQty) VALUES ('"
+ maxId.ToString() + "','" + tbRm.Text.ToString() + "','" + tbCusId.Text.ToString() + "','" + datepick
+ "'," + 51 + "," + 01 + ",'" + s + "','" + numBa + "');";
SqlCommand cmd2 = new SqlCommand(strSQL, con);
SqlDataReader MyRead2 = cmd2.ExecuteReader();
if (MyRead2.RecordsAffected < 1)
{
MessageBox.Show("INSERT tFdOrder Failed!!!", " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// MessageBox.Show("INSERT tCustomer Succeeded!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
con.Close();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
this.Visible = false;
Form hotelMain = new hotelMain();
hotelMain.ShowDialog();
}
private void button2_Click(object sender, EventArgs e)
{
this.Visible = false;
Form SubMenu = new SubMenu();
SubMenu.ShowDialog();
}
}
}
/*
con.Open();
int maxId = 0;
string strSQL = "SELECT MAX(fdSeqId) FROM tFdOrder";
SqlCommand cmd1 = new SqlCommand(strSQL, con);
SqlDataReader MyRead1 = cmd1.ExecuteReader();
if (MyRead1.Read())
{
maxId = (int)MyRead1[0] + 1;
}
MyRead1.Close();
strSQL = "INSERT INTO tFdOrder ( fdSeqId, fdRmId, fdCusId, fdDate, fdItem1, fdItem2,fdPrice,fdQty) VALUES ('"
+ maxId.ToString() + "','" + tbRm.Text.ToString() + "','" + tbCusId.Text.ToString() + "','" + datepick
+ "'," + 51 + "," + 01 + ",'" + price.ToString() + "','" + numBa + "');";
SqlCommand cmd2 = new SqlCommand(strSQL, con);
SqlDataReader MyRead2 = cmd2.ExecuteReader();
if (MyRead2.RecordsAffected < 1)
{
MessageBox.Show("INSERT tFdOrder Failed!!!", " ", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// MessageBox.Show("INSERT tCustomer Succeeded!!!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
con.Close();
*/