C#修改ACCESS中数据库代码如下:
{ string strPath = Application.StartupPath + "\\t_DeviceMng.mdb"; //文件路径,在bin目录下的路径
 string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data source='" + strPath + "'";//设置数据库的连接字符串
 OleDbConnection oleCon = new OleDbConnection(ConStr);//实例化OleDbConnection类
StringBuilder strSQL = new StringBuilder();
            strSQL.Append("update t_Lend set 设备编号='" + textBox3.Text.Trim().ToString() + "',学校编号='" + textBox4.Text.Trim().ToString() + "',标签='" + textBox5.Text.Trim().ToString() + "',领用时间='" + textBox6.Text.Trim().ToString() + "',归还时间='" + textBox7.Text.Trim().ToString() + "'where 学号='" + textBox1.Text.Trim().ToString() + "'");
           // strSQL.Append(" values('" + textBox1.Text.Trim().ToString() + "','" + textBox2.Text.Trim().ToString() + "','" + textBox3.Text.Trim().ToString() + "','" + textBox4.Text.Trim().ToString() + "','" + textBox5.Text.Trim().ToString() + "','" + textBox6.Text.Trim().ToString() + "','" + textBox7.Text.Trim().ToString() + "')");            using (OleDbDataAdapter oleDap = new OleDbDataAdapter("select * from t_Student", oleCon))
            {
                oleCon.Open();
                oleDap.ExecuteNonQuery();
                MessageBox.Show("信息修改成功");
                ControlInfo(false);
                oleCon.Close();
            }}
错误提示“System.Data.OleDb.OleDbDataAdapter”不包含“ExecuteNonQuery”的定义,并且找不到可接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“ExecuteNonQuery”(是否缺少 using 指令或程序集引用?)这是怎么回事啊 

解决方案 »

  1.   

    OleDbDataAdapter 是查询的时候用吧
    你现在要更新 应该用OleDbCommand com = new OleDbCommand();
      

  2.   


    //链接字符串
            public static string _CONNDRING = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
                + System.Web.HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"]
                + @"../database\quartzite.mdb;Persist Security Info=False";        /// <summary>
            /// 执行更新sql语句
            /// </summary>
            /// <param name="sql">sql文本</param>
            /// <param name="param">参数</param>
            /// <returns></returns>
            public static int ExecuteNoNQuery(string sql, params OleDbParameter[] param)
            {
                OleDbCommand com = new OleDbCommand();
                using (OleDbConnection conn = new OleDbConnection(_CONNDRING))
                {
                    PrepareCommand(sql, conn, com, CommandType.Text, param);
                    int obj = com.ExecuteNonQuery();
                    com.Parameters.Clear();
                    return obj;
                }
            }
      

  3.   

    用混了吧
    错误提示“System.Data.OleDb.OleDbDataAdapter”不包含“ExecuteNonQuery”的定义,并且找不到可接受类型为“System.Data.OleDb.OleDbDataAdapter”的第一个参数的扩展方法“ExecuteNonQuery”(是否缺少 using 指令或程序集引用?)这里说的很明显了,Adapter 里没有 ExecuteNonQuery,应该是 OledbCommand.ExecuteNonQuery()..
      

  4.   

    OleDbDataAdapter 类
    表示一组数据命令和一个数据库连接,它们用于填充 DataSet 和更新数据源。 
      

  5.   

    OleDbCommand 的特点在于以下对数据源执行命令的方法: 项 
     说明 
     
    ExecuteReader 
     执行返回行的命令。如果用 ExecuteReader 来执行 SQL SET 语句等命令,则可能达不到预期的效果。 
     
    ExecuteNonQuery 
     执行 SQL INSERT、DELETE、UPDATE 和 SET 语句等命令。 
     
    ExecuteScalar 
     从数据库中检索单个值(例如一个聚合值)。 
     
      

  6.   

    OleDbCommand ExecuteNonQuery
    看看msdnhttp://msdn.microsoft.com/zh-cn/library/system.data.oledb.oledbcommand_methods.aspx
      

  7.   

    OleDbDataAdapter  
    ->OleDbCommamd