问题描述
- 写不进去数据库啊,急,求帮忙看看,教教
-
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:designvcproject专科医院门诊系统(眼科)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版本吗,和你的连接字符串一致吗?
时间: 2024-11-03 20:24:11