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,你需要修改。
你的文件中有很多数据库,你最好把不用的删除了,以免你插入了一个数据库,打开看的是另一个,以为没有插入,实际上根本不是那一个。
这个问题看你问了很多次了。
但是光看代码不太方便调试,建议你把所有代码和数据库做成压缩文件,放在网盘中,在这里贴出地址。
我可以帮你调试。
光看代码你也知道,来来回回很多次才能解决问题,浪费大家的时间。
你用的什么压缩软件,解压出来全是乱码
建议你用winrar压缩,另外,无需传别的,只要程序目录就可以。
你对应的acces是12.0版本吗,和你的连接字符串一致吗?