注册 登录
编程论坛 C语言论坛

新手求大神指导,我往数据库增加记录时候提示的!数据库是Access

lap27510 发布于 2020-08-04 23:08, 1777 次点击
   private void button1_Click(object sender, EventArgs e)
        {

            string Con = "provider=MIcrosoft.ACE.OLEDB.12.0;" + @"Data source=D:\c\DataBase\student.accdb";//第二个参数为文件的路径  
            OleDbConnection conn = new OleDbConnection(Con);
            conn.Open();//建立连接
            string no = "'" + textBox1.Text + "'", name = "'" + textBox2.Text + "'",a= "'" + textBox3.Text + "'",
            tal = "'" + textBox4.Text + "'",gen = "'" + comboBox1.Text + "'";
            string insert = "INSERT INTO student(studentno,studentname,age,tall,gender)values(n,name,a,tal,gen)";
            OleDbCommand mycommand = new OleDbCommand(insert, conn);
            mycommand.ExecuteNonQuery();           //这里提示至少有一个值没有指定值,请问是哪里的问题!
            OleDbDataAdapter inst = new OleDbDataAdapter("SELECT * FROM student", conn);//选择全部内容

            DataSet ds = new DataSet();//临时存储
            inst.Fill(ds);//用inst填充ds
            dataGridView1.DataSource = ds.Tables[0];//展示ds第一张表到dataGridView1控件
            conn.Close();
        }
4 回复
#2
lin51616782020-08-05 10:37
你得用字符串拼接的方式 把变量的值放到同一个字符串里面
而不是在字符串里面写变量 n,name,a,tal,gen
那只是字符串的字符 不会扩展填充成前面的字符串
#3
lap275102020-08-05 19:21
回复 2楼 lin5161678
能简单举例吗?麻烦了
#4
apull2020-08-05 21:36
string insert = "INSERT INTO student(studentno,studentname,age,tall,gender)values(n,name,a,tal,gen)";
你这里的no,name,a,tal,gen不是变量,他们是字符串的一部分


string insert = "INSERT INTO student(studentno,studentname,age,tall,gender)values(" + no + "," + name + "," + a + "," + tal + "," + gen + ")";
#5
lap275102020-08-05 21:40
回复 4楼 apull
谢谢,非常感谢!可以了!!
1