注册 登录
编程论坛 SQL Server论坛

INSERT INTO 语句的语法错误。

迷上编程 发布于 2012-12-19 11:45, 1294 次点击
程序代码:
错误提示在最下面一行,if语句执行没有问题。
private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/" + "DB.mdb");
            aConnection.Open();
            string strName;
            strName = "insert into user(name,password,qx) values(" + textBox1.Text + ",'" + textBox2.Text + "'," + textBox3.Text + ")";
            if (textBox1.Text == "" | textBox2.Text == "" | textBox3.Text == "" )
            {
                MessageBox.Show("请填写要添加的数据");
                return;
            }
            OleDbDataAdapter myadapter = new OleDbDataAdapter(strName, aConnection); //执行查询
            DataSet ds = new DataSet(); //新建数据集
            myadapter.Fill(ds);//将SQL执行结果,填入数据集ds中可自加数据,进行验证
        }
7 回复
#2
mpi2012-12-19 13:26
程序代码:
private void button1_Click(object sender, EventArgs e)
        {
            OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "/" + "DB.mdb");
            aConnection.Open();
            string strName;
            strName = "insert into user(name,password,qx) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "')";
            if (textBox1.Text == "" | textBox2.Text == "" | textBox3.Text == "")
            {
                MessageBox.Show("请填写要添加的数据");
                return;
            }
            OleDbCommand cmd = new OleDbCommand(strName, aConnection);
            cmd.ExecuteNonQuery(); //如果需要提示成功与否,就把本行注释,下面的解除注释
            //int flag=cmd.ExecuteNonQuery();
            //if (flag > 0)
            //{
            //    MessageBox.Show("增加成功");
            //}
            //else
            //{
            //    MessageBox.Show("增加失败");
            //}
        }
我再跟你确定一下,是你老师教你用OleDbDataAdapter来执行插入和删除的么?
#3
迷上编程2012-12-19 22:09
回复 2楼 mpi
是的!老是弄得!
#4
mpi2012-12-20 08:39
以下是引用迷上编程在2012-12-19 22:09:07的发言:

是的!老是弄得!
让他去屎,误人子弟
#5
迷上编程2012-12-20 08:55
回复 4楼 mpi
不对呀!之前这代码是可以运行出来的!
#6
mpi2012-12-20 08:59
以下是引用迷上编程在2012-12-20 08:55:36的发言:

不对呀!之前这代码是可以运行出来的!
我也弄错了,因为之前一直自己写代码,
OleDbDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性

[ 本帖最后由 mpi 于 2012-12-20 09:07 编辑 ]
#7
迷上编程2012-12-21 13:57
这就对了!因为这个函数是可以运行出来的!
#8
mpi2012-12-21 14:31
以下是引用迷上编程在2012-12-21 13:57:31的发言:

这就对了!因为这个函数是可以运行出来的!
但是你自己写的就不对啦,你都在填充ds,更新和删除是不会返回dateset给你.
而且你写的代码根本没有去指定OleDbDataAdapter 的command执行类型嘛。
因为我都在做,所以习惯是自己写操作类了,你按我上面写的也可以操作更新和删除的
操作后,重新绑定一次控件就可以看到结果了。
1