代码没有问题,检查你的数据库链接是否是你看到的。cmd.ExecuteNonQuery() 返回什么

解决方案 »

  1.   

    唯一的解释是你看错表或者mdb文件了
      

  2.   

    给你一个操作数据库的一个类 Concls
    namespace 工程名
    {
        class Concls
        {
            static public OleDbConnection oledb = new OleDbConnection();
            static public OleDbConnection oleOpen()
            { 
                oledb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=你的数据库";
                if (oledb.State == ConnectionState.Closed)
                {
                    oledb.Open();
                }
                 return oledb;
            }
            static public void oleClose()
            {
                oledb.Close();
            }
        }}
    然后你直接调用就可以了!
                                    OleDbCommand cmd = new OleDbCommand();
                                cmd.CommandText = "insert into 表名 values('SQL语句')";//SQL语句(update)
                                cmd.Connection = Concls.oleOpen();
                                cmd.ExecuteNonQuery();
                                Concls.oleClose();
                                string messages = "成功保存到数据库中!";
                                string caption = "系统提示";
                                MessageBoxButtons button = MessageBoxButtons.OK;
                                DialogResult result;
                                result = MessageBox.Show(this, messages, caption, button, MessageBoxIcon.Asterisk);
      

  3.   

    您可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。