我想在.net中使用acess数据源,必须用odbc吗,要正确使用acess数据源,具体该怎么操作?

解决方案 »

  1.   

    没有必要
    Provide Jet 4.0 Microsost
    具体怎么写的忘记了
    可以用oledb
      

  2.   

    用 Oledb连接方式.
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =aa.mdb";
    ____________________________
    (2005年04月26日 14时17分44秒)
      

  3.   

    一個簡單的類,給你看看
    using System;
    using System.Xml;
    using System.Data.OleDb;
    using System.Data;namespace ACS
    {
    /// <summary>
    /// 對數據庫進行更新
    /// </summary>
    /// AIDU數據庫連接
    /// Retrieval 返回查詢Dataset
    /// Translation與數據庫進行交易[Access = true][fail = false]
    /// 

    public class AIDU
    {

    #region 連接失敗返回失敗消息--[Link Ok return null][Link fail return ErrorMessage]
    public string ErrorMsg()
    {
    return sErrorMsg;
    } #endregion #region 設置公共連接對像字串--[ sAcsCon ]
    public string sAcsConString()
    {
    string sConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="+@"KSZH.mdb";
    // string sConString = "Provider=OraOLEDB.Oracle.1;Password=mes_ks1;Persist Security Info=True;User ID=mes_ks1;Data Source=linux;Extended Properties=";
    return sConString;
    }


    public string sAcsCon
    {
    get{return sAcsConString();}
    }

    #endregion #region 設置公共連接對像--[ Link_cn ] public OleDbConnection Link_cn 
    {
    get{return Acs_cn();}
    } public OleDbConnection Acs_cn()
    {
    OleDbConnection cn = new OleDbConnection(sAcsCon);
    if(cn.State == ConnectionState.Closed)
    {
    cn.Open();
    }
    return cn;
    } #endregion //連接失敗後的返回消息
    private string sErrorMsg ="" ;
    //連接標志變量 [bFlag = true Connection Database Success]
    //[bFlag = false Connection Database unSuccess]
    private bool bFlag = false;

    #region 數據庫連接--[ LINK-TEST ] public bool AIDU_Link()
    {
    OleDbConnection TestCn = new OleDbConnection(sAcsCon);
    //測試數據庫連接
    try
    {
    if(TestCn.State != ConnectionState.Open)
    {
    TestCn.Open();
    bFlag = true;
                    }
    }
    catch(Exception e)

    sErrorMsg = e.Message;
    }
    finally
    {
    if(TestCn.State == ConnectionState.Open)
    {
    TestCn.Close();
    }
    }
    return bFlag;
    } #endregion #region 資料查詢--[ SELECT ]
    public DataSet Select(string sCmdString)
    {
    //建立CONNECTION對像
    OleDbConnection cn1=new OleDbConnection(sAcsCon);
    //建立DATASET對像,做資料返回值
    DataSet oDs = new DataSet();
    try
    {//建立Adapter對像
    OleDbDataAdapter myAdapter = new OleDbDataAdapter(sCmdString,cn1);
    myAdapter.Fill(oDs);
    }
    catch
    {
    cn1.Close();
    }
                
    return oDs;
    }
    #endregion #region 數據資料更新--[ Update ] //執行--[ UPDATE ][ INSERT ][ DELETE ] 
    //[ The command Execute sccess return 1]
    //[ The command Execute unSuccess return -1]
    public int UpdateCmd(string CommandString)
    {
    int nResult = -1;
    //進行一個本地交易
    // OleDbTransaction myTran = Link_cn.BeginTransaction(IsolationLevel.ReadCommitted);
    // myTran.Begin();
    //oledbcommand 命令執行交易
    OleDbCommand myCmd = new OleDbCommand(CommandString,Link_cn);

    //和數據庫進這行數據交易
    try
    {
    //提交數據
    myCmd.ExecuteNonQuery();
    // myTran.Commit();
    nResult = 1;
    }
    catch(OleDbException oe)
    {
    //出錯數據回滾原來的狀態,保持數據庫一致性
    // myTran.Rollback();
    nResult = -1;
    throw oe;
    }
    finally
    {
    //執行交易後關閉聯接
    Link_cn.Close();
    }
    return nResult;
    }
    #endregion
    }
    #region 處理字符,以符合SQL語句用--[ class sTringAdd ]
    public class sTringAdd
    {

    public sTringAdd(){} public string SQLQ(string sText)
    {
    sText = "'"+sText+"'";
    return sText;
    } public string SQLQ(int n)
    {
    return n.ToString();
    } public string SQLQ(double n)
    {
    return n.ToString();
    } public string SQLQC(string sText)
    {
    sText = "'"+sText+"',";
    return sText;
    } public string SQLQC(int nText)
    {
                string sText = nText.ToString()+",";
    return sText;
    } public string SQLQC(double nText)
    {
    string sText = nText.ToString()+",";
    return sText;
    }
    }
    #endregion}
      

  4.   

    完全没有必要!
    用System.Data.Oledb
      

  5.   

    Imports System.Data.OleDb
    ....   
    Private Sub GetData()
            Dim cnn As New SqlConnection("data source=localhost;initial catalog=model;integrated security=sspi")
            Dim cmd As New SqlCommand("select * from sysusers", cnn)
            Dim adapter As New SqlDataAdapter(cmd)
            Dim dst As New DataSet        Try
                adapter.Fill(dst)
                Dim dv As DataView = dst.Tables(0).DefaultView
                Response.Write(dv.Item(0).Item(1).ToString())
                dgdScoreshow.DataSource = dst.Tables(0).DefaultView
                dgdScoreshow.DataBind()
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try
        End Sub