我才接触半年C#,前断时间写个MIS系统`我用ACCESS数据库保存数据`当数据库不设置密码的时候一切正常,但是设置密码以后完全不能使用`我参考了黑魔方的书按照书上的设置添加了user = admin ;password = "12334" ;  但是不成功`请高手指点一下`我的成功连接代码如下:
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data source = czc.mdb";
try
{
conn.Open();
// Insert code to process data.
}
catch (Exception)
{
MessageBox.Show("Failed to connect to data source");
}
finally
{
conn.Close();
}
}//end创建Access数据库连接的代码*/
请帮忙改一下实现带密码访问`谢谢各位了`

解决方案 »

  1.   

    string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
    strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:New Database Password=;";
      

  2.   

    this.sqlConnection1.ConnectionString = "workstation id=XX;packet size=4096;user id=XX;integrated security=SSPI;data " +"source=XX;persist security info=False;initial catalog=XX";
      

  3.   

    change your connection string as follows:"Provider=Microsoft.Jet.OleDb.4.0;";
    strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourpwd"
      

  4.   

    "Provider=Microsoft.Jet.OleDb.4.0;Data Source=yourdbfile;User ID=Admin;Jet OLEDB:password=yourpwd;";//replace "yourdbfile" and "yourpwd"
      

  5.   

    Provider=Microsoft.Jet.OleDb.4.0;Data Source=Access文件名;User ID=用户;Jet OLEDB:password=密码;写到webconfig
      

  6.   

    string  Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = czc.mdb;User ID=Admin;Jet OLEDB:Password=tanhui";
    OleDbConnection dataconn = new OleDbConnection(); 
    dataconn.ConnectionString = Lkdatabase;
    dataconn.Open();
    OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表            
    OleDbDataAdapter shezhR = new OleDbDataAdapter("SELECT * FROM 日间模式收费表",dataconn); //查找日间收费模式信息表
    OleDbDataAdapter shezhY = new OleDbDataAdapter("SELECT * FROM 夜间模式收费表",dataconn); //查找夜间收费模式信息表
      

  7.   

    代码运行到``:::::::::`OleDbDataAdapter chez = new OleDbDataAdapter("SELECT * FROM 车主信息表",dataconn); //查找车主信息表            
    终止`
      

  8.   

    "Provider=Microsoft.JET.OLEDB.4.0;data source=aa.mdb;user id=Admin;Jet OLEDB:Database Password=××;"还有检查你数据库路径
      

  9.   

    我用oleDbDataAdapter 来自动生成数据集 也不行`在连接里测试的时候`如果没有密码测试连接成功
    有密码并填上密码测试连接失败`显示错误消息:"测试连接失败:因为初始化提供程序时发生错误.工作组信息文件丢失,或是已被其它用户以独占方式打开."
    我没用用独占方式打开`如果工作组信息文件丢失`空密码为什么可以成功连接?大家帮帮解决下`谢谢
      

  10.   

    /// <summary>
    /// 公有枚举成员-----数据库类型
    /// </summary>
    public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
    /// <summary>
    /// 打开并返回 OleDbConnection 联接
    /// </summary>
    /// <Info>
    /// <作者>周方勇</作者>
    /// <创建日期>2002-10-05</创建日期>
    /// <修改日期>2003-04-15</修改日期>
    /// <其它说明>无</其它说明>
    /// </Info>
    /// <Input>
    /// <param name="DataBase">数据库类型enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4}</param>
    /// <param name="StrDataSourceOrAccessPath">数据源。装有SqlServer数据库的计算机名/Oracel的Net8连接串/Access文件路径/ODBC数据源</param>
    /// <param name="strDefaultDataBaseOrAccessDatabasePassword">SqlServer默认数据库/Access数据库的密码</param>
    /// <param name="strUserID">用户名</param>
    /// <param name="strPWD">密码</param>
    /// </Input>   
    /// <Other>
    /// 要独立运行,定义 public enum DataBaseType{ACCESS97 = 0,ACCESS2KX = 1,SQLSERVER = 2,ORACLE = 3,ODBC = 4};
    /// </Other>
    /// <returns>返回 OleDbConnection 联接</returns>
    public System.Data.OleDb.OleDbConnection GetOleDbConnection(DataBaseType DataBase,string StrDataSourceOrAccessPath,string strDefaultDataBaseOrAccessDatabasePassword,string strUserID,string strPWD)
    {
    //定义连接字符串
    string strConn="";
    //定义OleDb数据库连接
    System.Data.OleDb.OleDbConnection oleDbConn=new System.Data.OleDb.OleDbConnection();
    switch (DataBase)
    {
    case DataBaseType.ACCESS97:
    strConn = "Provider=Microsoft.Jet.OLEDB.3.51;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
    break;
    case DataBaseType.ACCESS2KX:
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Jet OLEDB:Database Password=" + strDefaultDataBaseOrAccessDatabasePassword;
    break;
    case DataBaseType.SQLSERVER:
    strConn = "Provider=SQLOLEDB.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Initial Catalog=" + strDefaultDataBaseOrAccessDatabasePassword + ";Persist Security Info=True";
    break;
    case DataBaseType.ORACLE:
    strConn = "Provider=MSDAORA.1;Password=" + strPWD + ";User ID=" + strUserID + ";Data Source=" + StrDataSourceOrAccessPath + ";Persist Security Info=True";
    break;
    case DataBaseType.ODBC:
    strConn = "DSN=" + StrDataSourceOrAccessPath + ";UID=" + strUserID + ";PWD=" + strPWD;
    break;
    //default:
    }//结束switch //        '清空错误
    //        Err.Clear() //打开数据库
    try
    {
    oleDbConn.ConnectionString=strConn;
    oleDbConn.Open();
    }
    catch(System.Exception ex)
    {
    System.Windows.Forms.MessageBox.Show("错误提示:数据库打开失败,请与管理员联系!" + "\n" + "详细信息:" + ex.Message.ToString(), "提示", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
    oleDbConn=null; //对应VB的Nothing,null 关键字是表示不引用任何对象的空引用的文字值。null 是引用类型变量的默认值。
    } //返回
    return oleDbConn;
    }//GetOleDbConn()结束
      

  11.   

    我记得原来我也遇到这样的事情,加了密码的access数据库通过代码是没打开的
      

  12.   

    如果mdb不在本地,但完全共享,应该用哪种方式打开,我直接用\\....的方式好像要报错
      

  13.   

    这样可以的,但是要保证czc.mdb可以访问的到。
    string  Lkdatabase = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = c:\\test\\Webapplication1\\czc.mdb;Jet OLEDB:Database Password=tanhui;";