调试时运行到  
Myrec = Mydb.OpenRecordset(MySql,DAO.RecordsetTypeEnum.dbOpenDynamic,
 DAO.RecordsetOptionEnum.dbDenyWrite,
DAO.LockTypeEnum.dbOptimistic);  
时程序报如上的错误。

解决方案 »

  1.   

    还用DAO来连数据库??
    用DAO的话需要添加COM引用 : Microsoft DAO ?.? Object Library你不想用ADO.NET,还有ADO可以用啊,为什么用DAO??
      

  2.   

    这不没用过
    都用ado.net (:
      

  3.   

    没用过DAO,呵呵
    不奇怪,现在的书很随便的,老有错误
      

  4.   

    都用ADO啦你怎么还用DAO呀
    我也对DAO不熟呀
      

  5.   

    晕,都什么年代了,还用Dao,建议换书!!免得被破书误倒,白白浪费大好的时间,这可是最郁闷的事
      

  6.   

    书有点旧吧
    这是个mysql的例子:using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.Odbc;namespace WindowsApplication1
    {
    /// <summary>
    /// Form1 的摘要说明。
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.DataGrid dataGrid1;
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.Container components = null; public Form1()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    InitializeComponent(); //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //
    } /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    protected override void Dispose( bool disposing )
    {
    if( disposing )
    {
    if (components != null) 
    {
    components.Dispose();
    }
    }
    base.Dispose( disposing );
    } #region Windows 窗体设计器生成的代码
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.button1 = new System.Windows.Forms.Button();
    this.dataGrid1 = new System.Windows.Forms.DataGrid();
    ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
    this.SuspendLayout();
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(8, 304);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(544, 32);
    this.button1.TabIndex = 0;
    this.button1.Text = "connect";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // dataGrid1
    // 
    this.dataGrid1.DataMember = "";
    this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
    this.dataGrid1.Location = new System.Drawing.Point(16, 24);
    this.dataGrid1.Name = "dataGrid1";
    this.dataGrid1.Size = new System.Drawing.Size(536, 272);
    this.dataGrid1.TabIndex = 1;
    // 
    // Form1
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
    this.ClientSize = new System.Drawing.Size(560, 341);
    this.Controls.Add(this.dataGrid1);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Form1";
    ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
    this.ResumeLayout(false); }
    #endregion /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main() 
    {
    Application.Run(new Form1());
    } private void button1_Click(object sender, System.EventArgs e)
    {
    System.Data.Odbc.OdbcConnection conn ; try
    { //string constr = "DSN=mysql;" + "UID=root;" +"PWD="; 
    string constr="DSN=mysql;server=210.38.196.241;database=test;uid=root;pwd=;" ;
    conn =  new OdbcConnection(constr);
    conn.Open();
    string query = "select * from kk ";
    //string query="insert into kk (datenow) values(now())";

    OdbcCommand cmd = new OdbcCommand(query, conn);



    System.Data.Odbc.OdbcDataAdapter da=new OdbcDataAdapter(cmd.CommandText,conn.ConnectionString);
    DataSet ds=new DataSet();
    da.Fill(ds,"ta");
    this.dataGrid1.DataSource=ds.Tables[0];

    cmd.Dispose();
    conn.Close();
    }
    catch(Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    finally
    { }
    }
    }
    }
      

  7.   

    dao早都不用的了
    找一本新的