想连接ACCESS数据库,但不知道怎么使用控件,使用哪些控件~
string NewConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("表名");
OleDbConnection Conn = new OleDbConnection(NewConn);
string sql = "select * from 表名";
//添加记录:string sql = "insert into 表名(字段1,字段2)values('"+变量1+"','"+变量2+"')"; 
//修改记录: string sql = "update 表名 set 字段='"+变量+"' where 字段名='"+变量+"'";  
OleDbDataAdapter Comm = new OleDbDataAdapter(sql, Conn); 
DataSet ds = new DataSet();
Comm.Fill(ds,"表名");
这段话有用么?看不懂.........

解决方案 »

  1.   

    ds是空的数据结果集。需要填充(Comm.Fill())
      

  2.   

    你这段代码试不是连接ACCESS数据库的
    DataSet ds = new DataSet(); 
    Comm.Fill(ds,"表名"); 
    是将数据库里的数据填充到ds中缓存起来..
      

  3.   

    取出access库中数据填充数据集啊!
      

  4.   

    在控制台上连接access数据库。
    using System.Data.OleDb;
    class DbTest {
        static void Main() { 
        
        string Afile="provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\\ccc\\userinfo(表名)";
            OleDbConnection AconnStr=new OleDbConnection(Afile);
           
            string InsertSql="Insert into userinfo(UID,PWD,UserDes)values('4','133','dd')";
            OleDbCommand Icmd=new OleDbCommand(InsertSql,AconnStr);
        
            AconnStr.Open();
            int ExeNum=Icmd.ExecuteNonQuery();
            if(ExeNum==1) {Console.Write("Excuting is success");}
            else{Console.Write("Excuting is false");}      
           try{
            odr=Acmd.ExecuteReader();
            }catch(Exception ex){
            if(ex!=null)  Console.Write("执行错误");
            }
            if(odr!=null){
            string TotalInfo="";
                TotalInfo+="UID\tPWD\tUserDes\n";
                while(odr.Read()){
               TotalInfo+=odr["UID"].ToString()+"\t";
                    TotalInfo+=odr["PWD"].ToString()+"\t";
                    TotalInfo+=odr["UserDes"].ToString()+"\n";
                }
                odr.Close();
                Console.Write(TotalInfo);
            }
            AconnStr.Close();
        }}
      

  5.   

    public static OleDbConnection getConn()
             {
                 try
                {
                    string connstr = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Application.StartupPath + @"\Resources\A.mdb";
                    OleDbConnection tempconn = new OleDbConnection(connstr);
                    return (tempconn);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error:\n\n"+ex.Message);
                    return null;
                }
           } 
             public DataView GetData(string GetSql)
             {
                DataView dataview;
                System.Data.DataSet dataset = new DataSet();
                try
                {
                    OleDbConnection conn = getConn();
                    OleDbDataAdapter adp = new OleDbDataAdapter();                
                    adp.SelectCommand = new OleDbCommand(GetSql, conn);
                   adp.Fill(dataset, "mytable");
                   conn.Close();
                }
                catch (Exception ee)
                {
                    MessageBox.Show("错误提示 : \n\n" + ee.Message);
                }
                dataview = new DataView(dataset.Tables["mytable"]);
                return dataview;
           }
      

  6.   

    呵呵,是呀,你们都说了,我说什么.
    说的点实用的吧,楼主不妨把这个复制过去,建一个数据库.然后在窗体上加一个datagridview1控件,,然后在加一个按钮,双击进去,把代码复制到这里边,最后加上一句,dataGridView1.DataSource = ds.Tables[0];就清楚了.
      

  7.   

    看来你是刚了解数据库:
    string NewConn ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("表名"); 
    OleDbConnection Conn = new OleDbConnection(NewConn);这一段代码是数据库的连接字符串,相当于你要访问某一个数据库你先必须拿到访问数据库的钥匙。
    string sql = "select * from 表名"; 
    这一句是相当于你在头脑中构思了你想从数据库中取出的数据
    OleDbDataAdapter Comm = new OleDbDataAdapter(sql, Conn); 
    这一句是相当于你用钥匙从数据库中取出了你想要的数据到内存中,但是所取出的数据并未格式化,只是一串数据流。下一步的工作就是将这些数据流转换为用户识别的数据表
    DataSet ds = new DataSet();  
    这一句是定义一个数据集,DataSet就相当于一中内存中的数据库,但此时DataSet是空的
    Comm.Fill(ds,"123")
    这一句实际上做了两项工作,一:在数据集中定义了一个名字为123的数据表  二:是用你刚才从数据库中取出的那一串数据流来填充刚才该数据表 
      

  8.   


    "表名"是指access数据库中已经存在的一个表对吧?
    那"123"是自己新定义的一个数据表?名字随便取么?为什么它会提示我"找不到文件'C:\Inetpub\wwwroot\123'。"??
      

  9.   

    这是ado.net中最基础的用法,建议楼主把这段话背下来,打好基本功,不然就不要写程序了