¼¸ÄêǰдµÄÒ»¸ö access ·ÃÎÊÀà dbutils
using System;
using System.Data;
using System.Xml;
using System.Data.OleDb ;
using System.Collections;
namespace ePhoto.AccessDAL
{
/// <summary>
/// DBUtil ²Ù×÷AccessÊý¾Ý¿â
/// </summary>
public class DBUtil
{
private Hashtable parmCache = Hashtable.Synchronized(new Hashtable()); //»º´æÓû§²ÎÊý
private static string path = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
System.Web.HttpContext.Current.Server.MapPath("")+"\\"+System.Configuration.ConfigurationSettings.AppSettings["AccessDataBase"] ; //Access Êý¾Ý¿âÎļþµØÖ·
/// <summary>
/// Ö´Ðе¥Ïò²Ù×÷£¬·µ»ØÊý¾Ý¿âÊÜÓ°ÏìµÄÐÐÊýʹÓÃĬÈÏÁ¬½Ó£¬ Ö´ÐÐSQLÓï¾ä£¬½ö½ö·µ»ØÊý¾Ý¿âÊÜÓ°ÏìÐÐÊý¡£
/// ËùÐè²ÎÊý£ºÃüÁîÎı¾£¬²ÎÊýÁÐ±í¡£
/// </summary>
/// <param name="cmdText">ÃüÁîÎı¾</param>
/// <param name="cmdParms">²ÎÊýÁбí</param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdText ,params OleDbParameter[] cmdParams)
{
OleDbCommand cmd = new OleDbCommand();
using(OleDbConnection conn = new OleDbConnection(path))
{
PrepareCommand(cmd,conn,null,CommandType.Text,cmdText,cmdParams);
int val = cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Dispose();
return val ;
}
}
/// <summary>
/// Ö´ÐÐÒ»¸ösql²éѯÓï¾ä£¬·µ»ØDataReader¶ÔÏó¡£Ê¹ÓÃĬÈÏÁ¬½Ó¡£
/// ËùÐè²ÎÊý£ºÃüÁîÎı¾£¬²ÎÊýÁÐ±í¡£
/// </summary>
/// <param name="cmdText"></param>
/// <param name="cmdParms"></param>
/// <returns></returns>
public static OleDbDataReader ExecuteReader(string cmdText,params OleDbParameter[] cmdParms)
{
OleDbCommand cmd = new OleDbCommand();
OleDbConnection conn = new OleDbConnection(path);
try
{
PrepareCommand(cmd,conn,null,CommandType.Text,cmdText,cmdParms);
OleDbDataReader read = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return read ;
}
Ïà¹ØÎĵµ£º
Microsoft JET Database Engine error '80004005'
Selected collating sequence not supported by the operating system.
ÊÇÒòΪ¹úÍâµÄÖ÷»ú²»Ö§³ÖMDBÎļþĬÈϵĺºÓïÆ´ÒôÅÅÐò·½Ê½
Ö»Òª°ÑÅÅÐò¸ÄΪ³£¹æ,ÈçÏÂͼ:
È»ºóÒÀ´Îµã»÷ ¹¤¾ß -> Êý¾Ý¿â³£Óù¤¾ß -> ѹËõºÍÐÞ¸´Êý¾Ý¿â
Ó¦¸Ã¾Í¿ÉÒÔÕý³£Ê¹ÓÃÁË.
ÉÏÎÄÀ´Ô´ÓÚ KinJ ......
Ö±½Óͨ¹ýADO²Ù×÷AccessÊý¾Ý¿â
×÷Õß/Ðì¾°ÖÜ
ÏÂÔØÔ´´úÂë
ÎÒÔÚ¡¶VC֪ʶ¿âÔÚÏßÔÓÖ¾¡·µÚÊ®ËÄÆÚºÍµÚÊ®ÎåÆÚÉÏÔø·¢±íÁËÁ½ÆªÎÄÕ——“Ö±½Óͨ¹ýODBC¶Á¡¢Ð´Excel±í¸ñÎļþ”ºÍ“Ö±½Óͨ¹ýDAO¶Á¡¢Ð´AccessÎļþ”£¬ÏÈºó¸ø´ó¼Ò½éÉÜÁËODBCºÍDAOÁ½ÖÖÊý¾Ý¿â·ÃÎʼ¼ÊõµÄ»ù±¾Ê¹Ó÷½·¨£¬Õâ´Î ......
½ñÌìÔÚÓÃC#´´½¨AccessÊý¾Ý¿âµÄʱºòÓöµ½ÁËÒ»¸ö×Ö¶ÎÀàÐ͵ÄÎÊÌ⣬ÒòΪ³ÌÐò´´½¨Êý¾Ý¿â±íÕâ¸öÔÚSqlServerÉϱȽϳ£¼û£¬ÔÚ°Ù¶ÈÖÐÕÒÁ˺ܾ㬰ÑÏà¹ØµÄÊôÐԳ¼ÏÂÀ´°É£¬ÒÔ¹©ÒÔºóʹÓá£
1¡¢¶¯Ì¬´´½¨AccessÊý¾Ý¿â£º±¾È˾õµÃÓÃADOXµÄ·½Ê½¼òµ¥ÊǼòµ¥£¬µ«ÊÇ»¹ÊÇÐèÒªÒ»¸öDLL×齨·½¿ÉÒÔʵÏÖÊý¾Ý¿âµÄ´´½¨£¬ËùÒÔÄÇÎÒÃǾͻ»¸ö˼·°É£¬ÎªÊ²Ã´²»¿ ......
pos25 = find (coll.begin(), coll.end(), //range
25); //value
pos35 = find (coll.begin(), pos25, //range
35); //value
if (pos35 != pos25) {
/*pos35 is in front of pos25
*so, only [pos35,pos25) is valid
*/
...
}
else {
pos35 = find (pos25, coll.end ......
ÒÔǰµÄʱºòÓÃVCдÁËÁ½ÖÖÁ¬½ÓAccessÊý¾Ý¿âµÄ·½·¨£¬ÎªÁË·½±ãÒÔºó²éÕÒ°ÑÕâÁ½ÖÖ·½·¨×öһϼòµ¥µÄ½éÉÜ¡£Windowsƽ̨µÄÊý¾Ý½Ó¿Ú±ê×¼ÓÐODBC¡¢OLE DB¡¢ADOºÍBorlandµÄBDE½Ó¿Ú£¬ODBC(Open DataBase Connectivity)Ö»ÄÜÓÃÓÚ·ÃÎʹØÏµÐÍÊý¾Ý¿â£¬ÎªÁË·ÃÎʷǹØÏµÐÍÊý¾Ý΢ÈíÉè¼ÆÁËOLE DB½Ó¿Ú²¢ÔÚ´Ë»ù´¡ÉÏÍÆ³öÁËADO(ActiveX Data Objects)¡£± ......