using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace 專科醫院門診系統_眼科_
{
public partial class 掛號界面 : Form
{
OleDbConnection con = new OleDbConnection();
string str = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\design\vc\project\專科醫院門診系統(眼科)\db1.accdb";
public 掛號界面()
{
InitializeComponent();
con.ConnectionString = str;
button1.Click += new EventHandler(button1_Click);
button2.Click += new EventHandler(button2_Click);
button3.Click += new EventHandler(button3_Click);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
private void textBox5_TextChanged(object sender, EventArgs e)
{
}
private void textBox6_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
掛號繳費選擇界面 frm = new 掛號繳費選擇界面();
frm.Show();
Hide();
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != ""&& textBox3.Text != ""&& textBox4.Text != ""&& textBox5.Text != ""&& textBox6.Text != "")
{
string a = textBox1 .Text ;
string b = textBox2 .Text ;
string c = textBox3 .Text ;
string d = textBox4 .Text ;
string f = textBox5 .Text ;
string g = textBox6 .Text ;
OleDbCommand cmd = new OleDbCommand(@"insert into patient([ID],名字,年齡,性別,電話號碼,科室) values(" + a + ",'" + b + "'," + c + ",'" + d + "','" + f + "','" + g + "')");
con.Open();
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("掛號成功!");
}
else
{
MessageBox .Show ("請輸入完整的掛號信息");
}
textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text = textBox6.Text = string.Empty;
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = textBox2.Text = textBox3.Text = textBox4.Text = textBox5.Text =textBox6.Text = string.Empty;
}
private void 掛號界面_Load(object sender, EventArgs e)
{
}
}
}
解決了。看圖
發現了一些問題,你檢查下:
(1)你有一個是否已收費的字段,是不可空的,但是你的查詢語句沒有它
OleDbCommand cmd = new OleDbCommand(@"insert into patient([ID],名字,年齡,性別,電話號碼,科室,是否已收費) values('" + a + "','" + b + "'," + c + ",'" + d + "','" + f + "','" + g + "',0)");
另一個,id是字符串,你沒有引號。
還有你的掛號的幾個字段的長度都是0,你需要修改。
你的文件中有很多數據庫,你最好把不用的刪除了,以免你插入了一個數據庫,打開看的是另一個,以為沒有插入,實際上根本不是那一個。