static void Main(string[] args)
        {
            OleDbConnection conn = null;
            try
            {
                string connectionString = "Provider=Microsoft.Jet.OleDb.4.0;Persist Security Info=True;Jet OLEDB:Database Password=aaaa;Data source=";
                connectionString += @"C:\Program Files\Netbar\test.mdb";
                conn = new OleDbConnection(connectionString);                OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM Seat",conn);
                OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
                DataSet dataSet = new DataSet();
                conn.Open();                adapter.Fill(dataSet,"Seat");
                DataRow newRow = dataSet.Tables["Seat"].NewRow();
                newRow["seatNo"] = "555";
                newRow["Charge"] = "3";
                //新行加入
                dataSet.Tables["Seat"].Rows.Add(newRow);
                //开始更新数库
                adapter.Update(dataSet,"Seat");
      
            }

解决方案 »

  1.   


    dataSet.Tables["Seat"].Rows.Add(newRow);
    dataSet.Tables["Seat"].AcceptChanges();  //加一句试试
      //开始更新数库
      adapter.Update(dataSet,"Seat");
      

  2.   

    增加新数据?是不是类似于在一个已经存在的dataset中增加???我有winform中的一个方法,代码如下。
                    /*
                     * 先根据corpno查找县名称,
                     * 然后根据县名称和='0',查找corpno,
                     * 再根据corpno+statues查找预案信息,得到ds,
                     * 在利用Dataset的Rows.Add()加入到ds2,
                     * 最后将ds2付给datagridview
                     */
                    m_DataSet = new DataSet();
                    m_DataTable = new DataTable();                m_DataTable.Columns.Add(new DataColumn("planinfono"));
                    m_DataTable.Columns.Add(new DataColumn("corpno"));
                    m_DataTable.Columns.Add(new DataColumn("planinfoname"));
                    m_DataTable.Columns.Add(new DataColumn("planinfostatus"));
                    m_DataTable.Columns.Add(new DataColumn("planinfowritetime"));
                    m_DataTable.Columns.Add(new DataColumn("planinfopublicTime"));
                    m_DataTable.Columns.Add(new DataColumn("planinfomanager"));
                    m_DataTable.Columns.Add(new DataColumn("telnum"));
                    m_DataTable.Columns.Add(new DataColumn("planinfotypeno"));                m_DataSet.Tables.Add(m_DataTable);                string strCondition1 = string.Format("corpno='{0}'", m_User[2]);
                    string strStatus = "";
                    if (this.comboBox_Status.SelectedIndex == 0)
                    {
                        strStatus = " and 1=1";
                    }
                    else
                    {
                        strStatus = " and planinfostatus='" + GetStatuesNo(this.comboBox_Status.Text.Trim())+"'";
                    }
                    CommonExecute comm = new CommonExecute(m_ConnectionString);
                    DataSet ds1 = null;
                    if (comm.GetInfosDataSetByCondition("corporations", strCondition1, null, out ds1) == true)
                    {
                        string strCorpLocation = ds1.Tables[0].Rows[0]["corplocation"].ToString();
                        string strCondition2 = "corplocation='" + strCorpLocation + "' and ='0'";
                        DataSet ds2 = null;                    if (comm.GetInfosDataSetByCondition("corporations", strCondition2, "corpno asc", out ds2) == true)
                        {
                            DataSet ds3 = null;                        for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
                            {                            string strCondition3 = "corpno='" + ds2.Tables[0].Rows[i]["corpno"].ToString() + "'" + strStatus;
                                if (comm.GetInfosDataSetByCondition("emergencyplaninfo", strCondition3, "planinfowritetime desc", out ds3) == true)
                                {
                                    if (ds3.Tables[0].Rows.Count != 0)
                                    {
                                        for (int j = 0; j < ds3.Tables[0].Rows.Count; j++)
                                        {
                                            DataRow newRow = m_DataTable.NewRow();
                                            newRow[0] = ds3.Tables[0].Rows[j]["planinfono"].ToString();
                                            newRow[1] = ds3.Tables[0].Rows[j]["corpno"].ToString();
                                            newRow[2] = ds3.Tables[0].Rows[j]["planinfoname"].ToString();
                                            newRow[3] = ds3.Tables[0].Rows[j]["planinfostatus"].ToString();
                                            newRow[4] = ds3.Tables[0].Rows[j]["planinfowritetime"].ToString();
                                            newRow[5] = ds3.Tables[0].Rows[j]["planinfopublicTime"].ToString();
                                            newRow[6] = ds3.Tables[0].Rows[j]["planinfomanager"].ToString();
                                            newRow[7] = ds3.Tables[0].Rows[j]["telnum"].ToString();
                                            newRow[8] = ds3.Tables[0].Rows[j]["planinfotypeno"].ToString();
                                            m_DataTable.Rows.Add(newRow);
                                        }
                                    }
                                }
                            }
                            if (m_DataSet.Tables[0].Rows.Count == 0)
                            {
                                this.lblCount.Text = "预案记录为0条";
                                dataGridView_PlanInfo.DataSource = null;
                                
                            }
                            else
                            {
                                for (int i = 0; i < m_DataSet.Tables[0].Rows.Count; i++)
                                {
                                    string str = m_DataSet.Tables[0].Rows[i]["planinfostatus"].ToString();
                                    switch (str)
                                    {
                                        case "0":
                                            m_DataSet.Tables[0].Rows[i]["planinfostatus"] = "未审核";                                        break;
                                        case "1":
                                            m_DataSet.Tables[0].Rows[i]["planinfostatus"] = "审核通过";
                                            break;
                                        case "2":
                                            m_DataSet.Tables[0].Rows[i]["planinfostatus"] = "审核不通过";
                                            break;
                                    }
                                }
                                this.dataGridView_PlanInfo.DataSource = m_DataSet.Tables[0];
                                this.lblCount.Text = "预案记录为 " + m_DataSet.Tables[0].Rows.Count + " 条";
                                dataGridView_PlanInfo.ClearSelection();
                                for (int i = 0; i < dataGridView_PlanInfo.Rows.Count; i++)
                                {
                                    if (dataGridView_PlanInfo.Rows[i].Cells["planinfostatus"].Value.ToString() == "审核不通过")
                                    {
                                        dataGridView_PlanInfo.Rows[i].DefaultCellStyle.ForeColor = Color.Red;
                                    }
                                    else if (dataGridView_PlanInfo.Rows[i].Cells["planinfostatus"].Value.ToString() == "未审核")
                                    {
                                        dataGridView_PlanInfo.Rows[i].DefaultCellStyle.ForeColor = Color.Green;
                                    }
                                    else
                                    {
                                        dataGridView_PlanInfo.Rows[i].DefaultCellStyle.ForeColor = Color.Blue;
                                    }
                                }
                            }
                        }
                    }
      

  3.   

    提示insert into 语法错误 我晕啊  按照教材上写的啊
      

  4.   


    你跟踪一下看看insert into 语句是什么就知道了啊  估计少了个引号什么的
      

  5.   

    ???
    connectionString += @"C:\Program Files\Netbar\test.mdb";
    直接对数据文件进行添加操作 这样也行?
    我没尝试过  可能我out了
      

  6.   

    newRow["seatNo"] = "555";
    newRow["Charge"] = "3";
    是不是还有别的行?