qq_27410413
qq_27410413
采纳率37.5%
2015-04-25 14:16 阅读 1.6k
已采纳

写不进去数据库啊,急,求帮忙看看,教教

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)
    {

    }
}

}
图片说明
图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    devmiao devmiao 2015-04-26 03:40

    图片说明
    解决了。看图

    发现了一些问题,你检查下:
    (1)你有一个是否已收费的字段,是不可空的,但是你的查询语句没有它

     OleDbCommand cmd = new OleDbCommand(@"insert into patient([ID],名字,年龄,性别,电话号码,科室,是否已收费)  values('" + a + "','" + b + "'," + c + ",'" + d + "','" + f + "','" + g + "',0)");
    

    另一个,id是字符串,你没有引号。
    还有你的挂号的几个字段的长度都是0,你需要修改。

    你的文件中有很多数据库,你最好把不用的删除了,以免你插入了一个数据库,打开看的是另一个,以为没有插入,实际上根本不是那一个。

    点赞 3 评论 复制链接分享
  • devmiao devmiao 2015-04-25 14:37

    你用的什么压缩软件,解压出来全是乱码

    点赞 3 评论 复制链接分享
  • devmiao devmiao 2015-04-25 14:38

    图片说明
    建议你用winrar压缩,另外,无需传别的,只要程序目录就可以。

    点赞 3 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-25 14:21

    这个问题看你问了很多次了。
    但是光看代码不太方便调试,建议你把所有代码和数据库做成压缩文件,放在网盘中,在这里贴出地址。

    我可以帮你调试。

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-25 14:22

    光看代码你也知道,来来回回很多次才能解决问题,浪费大家的时间。

    点赞 1 评论 复制链接分享
  • blogtjf 宇峰科技 2015-04-26 01:25

    你对应的acces是12.0版本吗,和你的连接字符串一致吗?

    点赞 评论 复制链接分享

相关推荐