读书人

刚刚学习winform调试时总提示密码异

发布时间: 2014-01-22 00:03:39 作者: rapoo

刚刚学习winform,调试时总提示密码错误,我连接的是 access数据库,密码是111,请指教!
数据库连接字符串如下:总是在"conn.Open();"出错,提示密码不正确!可是就是111呀?我也打开数据库,手工输入密码“111”能够正常打开!


string DiZhi = System.Environment.CurrentDirectory;
string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DiZhi + "\\system.mdb;Persist Security Info=True;Jet OLEDB:Database Password=111";


[解决办法]
 public class sqlhelper
{


public sqlhelper()
{
//
//TODO: 在此处添加构造函数逻辑
//
}

public static string connstr = ConfigurationManager.AppSettings["accessConnStr"].ToString() + HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["accessdbPath"].ToString()) + ";";

public static string cupage()
{
string strPath = "http://" + HttpContext.Current.Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.ServerVariables["PATH_INFO"] + "?" + HttpContext.Current.Request.ServerVariables["QUERY_STRING"];
if (strPath.EndsWith("?"))
{
strPath = strPath.Substring(0, strPath.Length - 1);
}
return strPath;
}


public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();

using (OleDbConnection connection = new OleDbConnection(connstr))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
int num = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return num;
}
}



public static OleDbDataReader ExecuteReader(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbDataReader reader2;
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(connstr);
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);

OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);


cmd.Parameters.Clear();
reader2 = reader;
}
catch
{
conn.Close();
throw;
}
return reader2;
}



public static object ExecuteScalar(CommandType cmdType, string cmdText, params OleDbParameter[] commandParameters)
{
OleDbCommand cmd = new OleDbCommand();
using (OleDbConnection connection = new OleDbConnection(connstr))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
object obj2 = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return obj2;
}
}



public static DataSet GetDataSet(CommandType cmdType, string cmdText, params OleDbParameter[] parameters)
{
OleDbCommand cmd = new OleDbCommand();
DataSet dataSet = new DataSet();
using (OleDbConnection connection = new OleDbConnection(connstr))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, parameters);
new OleDbDataAdapter(cmd).Fill(dataSet);

return dataSet;
}
}



public static DataTable GetDataTable(CommandType cmdType, string cmdText, params OleDbParameter[] parameters)
{
OleDbCommand cmd = new OleDbCommand();
DataTable dataTable = new DataTable();
using (OleDbConnection connection = new OleDbConnection(connstr))
{
PrepareCommand(cmd, connection, null, cmdType, cmdText, parameters);
new OleDbDataAdapter(cmd).Fill(dataTable);
connection.Close();
}
return dataTable;
}

private static void PrepareCommand(OleDbCommand cmd, OleDbConnection conn, OleDbTransaction trans, CommandType cmdType, string cmdText, OleDbParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
cmd.Connection = conn;


cmd.CommandText = cmdText;
if (trans != null)
{
cmd.Transaction = trans;
}
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (OleDbParameter parameter in cmdParms)
{
cmd.Parameters.Add(parameter);
}
}
}



public static void alert(string texts)
{
HttpContext.Current.Response.Write("<script>alert('" + texts + "');</script>");
}

public static void alert(string texts, string urls)
{
HttpContext.Current.Response.Write("<script>alert('" + texts + "');window.location.href='" + urls + "';</script>");
}

public static void locationhref(string urls)
{
HttpContext.Current.Response.Write("<script>window.location.href='" + urls + "';</script>");
}



public static int getminxu(string biao, string xu)
{
string sql = "select min(" + xu + ") from " + biao + "";
string ids = ExecuteScalar(CommandType.Text, sql, null).ToString();

if (string.IsNullOrEmpty(ids))
{
return 0;
}
else
{
return Convert.ToInt32(ids);
}
}



public static int getmaxxu(string biao, string xu)
{
string sql = "select max(" + xu + ") from " + biao + "";
string ids = ExecuteScalar(CommandType.Text, sql, null).ToString();

if (string.IsNullOrEmpty(ids))
{
return 0;
}
else
{
return Convert.ToInt32(ids);
}
}

public static int getmaxxu(string biao, string xu, int isjia)
{
string sql = "select max(" + xu + ") from " + biao + "";


string ids = ExecuteScalar(CommandType.Text, sql, null).ToString();

if (string.IsNullOrEmpty(ids))
{
return 0;
}
else
{
return Convert.ToInt32(ids) + isjia;
}

}

public static void filldroplist(HtmlSelect dl, string sql)
{
DataTable dt = GetDataTable(CommandType.Text, sql, null);
dl.DataSource = dt;
dl.DataTextField = dt.Columns[0].Caption.ToString();
dl.DataValueField = dt.Columns[1].Caption.ToString();
dl.DataBind();
}

public static string getappsetting(string keys)
{
return ConfigurationManager.AppSettings[keys].ToString();
}

public static string cutstr(string strChar, int intLength)
{
//取得自定义长度的字符串
if (strChar.Length > intLength)
{ return strChar.Substring(0, intLength); }
else
{ return strChar; }
}

/// <summary>
/// 设置网站标题
/// </summary>
/// <param name="ls"></param>
/// <param name="yuyan"></param>
/// <returns></returns>
public static string getwebtitle()
{
string webmc= webinfor.getwebinfor().Rows[0]["sitename"].ToString();

string aa = "";
aa = webmc;
return aa;
}

/// <summary>
/// textarea中的字符转成html的格式
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string converthtml(string ss)
{
string s = ss;
s = s.Replace("<", "<");
s = s.Replace(">", ">");
s = s.Replace("chr(32)", " ");
s = s.Replace("chr(13)", "<br>");
s = s.Replace("'", "'");
return s;
}

/// <summary>
/// html字符还原
/// </summary>


/// <param name="s"></param>
/// <returns></returns>
public static string htmltotext(string ss)
{
string s = ss;



s = s.Replace("<", "<");
s = s.Replace(">", ">");
s = s.Replace(" ", "chr(32)");
s = s.Replace("<br>", "chr(13)");
s = s.Replace("'", "'");
return s;
}

/// <summary>
/// 过滤非法字符
/// </summary>
/// <param name="strs"></param>
/// <returns></returns>
public static string replacehtml(string strs)
{
string retVal = strs;
retVal = retVal.Replace("'", "");
retVal = retVal.Replace("/", "");
retVal = retVal.Replace("#", "");
retVal = retVal.Replace(".", "");
retVal = retVal.Replace("*", "");
retVal = retVal.Replace("+", "");
retVal = retVal.Replace("-", "");
retVal = retVal.Replace("$", "");
retVal = retVal.Replace("@", "");
retVal = retVal.Replace("!", "");
retVal = retVal.Replace(";", "");
retVal = retVal.Replace(":", "");
retVal = retVal.Replace("\\", "");
retVal = retVal.Replace("%", "");
return retVal;
}


}


[解决办法]
引用:
Quote: 引用:

string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DataBase.mdb";
// 定义连接
OleDbConnection MyCon = new OleDbConnection(strCon);
// 打开连接
MyCon.Open();

感谢您的回复,以上这些我都写了,就是在类似于您的这句"MyCon.Open();"中,我的是“Conn.Open();”这句出错,提示密码不正确!

access不用密码的,把你那句密码的去掉就行了
[解决办法]
楼主解决了吗?
如果没解决,而且你的系统是 x64 的,那么请参考如下链接:

Jet for Access, Excel and Txt on 64 bit systems

读书人网 >C#

热点推荐