我有一个ACCCESS数据库
它的表有好多关系如图其中 ONLINE 和 USAGE 和 CARD 中有数据我想对 USAGE表和CARD表 插入和操作。
 
 
strPath = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password='';User Id=admin;Data source=c:\db.mdb";
            System.Data.OleDb.OleDbConnection oleCon1 = new System.Data.OleDb.OleDbConnection(strPath);            System.Data.OleDb.OleDbDataAdapter oleDap3 = new  System.Data.OleDb.OleDbDataAdapter("delete from card", oleCon1);
           
            DataSet CARD = new DataSet();
  oleDap3.Fill(ds3, "card");
它提示他老语法错误是什么原因那?(ONLINE表可以操作)关系表 应该怎么操作那?我想对 CARD表和USAGE表,进行删除`插入等操作?
能不能给代码。          
            

解决方案 »

  1.   

    这里打错了。
    DataSet CARD = new DataSet(); 应为DataSet CARD = ds3 DataSet();我是个数据库初学者望大家多讲些,谢谢。
      

  2.   

    晕死了
    DataSet CARD = new DataSet(); 应为DataSet ds3 = new DataSet(); 
    电脑垃圾了。该换了。刚卡住了发错了 。
      

  3.   

    首先,你要先把链接打开。。所以 你要执行这条语句。。oleCOn1.Open();
    其实 。执行删除或者插入的命令。即是:OleDb.OleDbCommand cmd=new OleDbCommand(“你要删除或者插入的语句”,oleCOn1 );
    cmd.executeQueny();
    oleCon1.Close();
    这其中你要抛出异常哦 。
      

  4.   

    试试这个
    this.m_connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+System.Environment.CurrentDirectory+"\\live.mdb"; m_ds = new DataSet ();
    string strSql = "select * from t_op_goodluck";
    System.Data.OleDb.OleDbDataAdapter oda = new OleDbDataAdapter(strSql,this.m_connstring);
    oda.Fill(m_ds,"t_op_goodluck"); this.dataGrid1.DataSource = this.m_ds.Tables[0].DefaultView;
      

  5.   

    那为什么我用个语句操作ONLINE表通过。我搞不懂
      

  6.   


    this.m_connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+System.Environment.CurrentDirectory+"\\live.mdb"; m_ds = new DataSet (); 
    string strSql = "select * from t_op_goodluck"; 
    System.Data.OleDb.OleDbDataAdapter oda = new OleDbDataAdapter(strSql,this.m_connstring); 
    oda.Fill(m_ds,"t_op_goodluck"); this.dataGrid1.DataSource = this.m_ds.Tables[0].DefaultView;顶!!!
      

  7.   

    supper168 
    你的代码和我的没有区别呀
      

  8.   

    你那个数据库连接语句要用open 打开哦 
      

  9.   

    我看着连接没打开,Connection.Open();
      

  10.   

    public class clsUser
    {
        private DataSet ds;
        private OleDbDataAdapter dt;
        private clsData c_clsData;
        public clsUser()
        {
            c_clsData = new clsData();
            ds = new DataSet();
            dt = new OleDbDataAdapter("select * from [user]", c_clsData.conn);
            dt.Fill(ds,"User");
        }    public virtual bool logUser(string[] strUser)
        {
            DataRow[] dr = ds.Tables["User"].Select("username='" + strUser[0] + "' and userpass='" + strUser[1] + "'");
            if (dr.Length == 0)
            {
                JScript.Alert("用户名或密码错误!");
                return false;
            }
            return true;
        }    public virtual bool addUser(string[] strUser)
        {
            DataRow dr = ds.Tables["User"].NewRow();
            dr.BeginEdit();        dr.EndEdit();
            OleDbCommandBuilder odb = new OleDbCommandBuilder(dt);
            ds.Tables["User"].Rows.Add(dr);
            try
            {
                dt.Update(ds, "User");
            }
            catch(OleDbException e)
            {
                if (e.ErrorCode == -2147467259)
                {
                    JScript.Alert("用户名已经存在!");
                    return false;
                }
                else            
                {
                    JScript.Alert("未知错误!");
                    return false;
                }
            }
            catch (Exception e)
            {
                JScript.Alert(e.ToString ());
                return false;
            }
            return true;
        }    public virtual bool updaUserPass(string[] strUser)
        {        return true;
        }    public virtual bool updaUser(string[] strUser)
        {
            DataRow[] dr = ds.Tables["User"].Select("username='" + strUser[0] + "'");
            dr[0]["userpass"] = "";
            dr[0]["usertype"] = "";
            OleDbCommandBuilder odb = new OleDbCommandBuilder(dt);
            try
            {
                dt.Update(ds, "User");
            }
            catch (OleDbException e)
            {
                if (e.ErrorCode == -2147467259)
                {
                    JScript.Alert("");
                    return false;
                }
                else
                {
                    JScript.Alert(e.ToString());
                    return false;
                }
            }
            catch (Exception e)
            {
                JScript.Alert(e.ToString());
                return false;
            }
            return true;
        }    public virtual bool delUser(string strUser)
        {
            DataRow[] dr = ds.Tables["User"].Select("username='"+ strUser +"'");
            dr[0].Delete();
            OleDbCommandBuilder odb = new OleDbCommandBuilder(dt);
            try
            {
                dt.Update(ds, "User");
            }
            catch(Exception e)
            {
                JScript.Alert(e.ToString());
                return false;
            }
            return true;
        }
    }
      

  11.   

    不好意思。我把图补上
    关系图
    报错图 
    向USAGE表 CARD表修改数据提示错误;
    想ONLINE表 操作没有问题