Access数据库操作

 class AccessDataBase
    {
        String connstring = null;

        public AccessDataBase()
        {
            //connstring = System.Environment.CurrentDirectory + @"\config.ini";//ini.getDataBaseString();
            connstring = "Provider=Microsoft.Ace.OleDb.12.0;";
            connstring += "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + @"\AccessDatabase.accdb;";
            //connstring += "Data Source="+System.Environment.CurrentDirectory+@"\AccessDatabase.accdb;";
            connstring += "Persist Security Info=False;";
        }
        public int  backUpDataBase()
        {
            return 0;
        }
        public void saveToDatabase(string sqltext,DataTable table,string tablename)
        {
            
        }
        //执行没有返回值的SQL语句,如insert,update,delete
        public int executeSql_NoReturn(string strcmd)
        {
            OleDbConnection conn = new OleDbConnection(connstring);
            OleDbCommand oprating = new OleDbCommand(strcmd, conn);
            try
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();

                object obj = oprating.ExecuteNonQuery();
                return 0;
            }
            catch
            {
                return -1;
            }
            finally
            {
                conn.Close();
            }
        }

        //返回查询所返回的结果集中第一行的第一列或空引用(如果结果集为空)
        public string executeSql_GetCell(string strcmd)
        {
            OleDbConnection conn = new OleDbConnection(connstring);
            OleDbCommand oprating = new OleDbCommand(strcmd, conn);
            try
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();

                object obj = oprating.ExecuteScalar();
                if (obj != null)
                    return obj.ToString();
                else
                    return null;
            }
            catch
            {
                //MessageBox.Show("SQL数据格式错误",title,MessageBoxButtons.OK, MessageBoxIcon.Information);
                return "DataFormattingError";
            }
            finally
            {
                conn.Close();
            }
        }
        //绑定数据源,用于输出数据集
        public DataTable executeSql_GetDataSet(string strcmd)
        {
            OleDbConnection conn = new OleDbConnection(connstring);
            OleDbCommand oprating = new OleDbCommand(strcmd, conn);
            OleDbDataReader myDataReader = null;
            DataTable table = new DataTable();

            try
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();

                myDataReader = oprating.ExecuteReader();
                table.Load(myDataReader);
                return table;
            }
            catch
            {
                return null;
            }
            finally
            {
                conn.Close();
            }
        }
        public int ImagOper(string strcmd,byte[] Photograph,byte[] FingerPrint0,byte[] FingerPrint1)
        {
           StringBuilder strSql = new StringBuilder();

           OleDbConnection conn = new OleDbConnection(connstring);
            strSql.Append(strcmd);
            try
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();

                OleDbCommand cmd = new OleDbCommand(strSql.ToString(), conn);
                if (Photograph != null)
                    cmd.Parameters.Add("@Photograph", OleDbType.Binary).Value = Photograph;
                
                if (FingerPrint0 != null)
                    cmd.Parameters.Add("@FingerPrint0", OleDbType.Binary).Value = FingerPrint0;
                else
                    cmd.Parameters.Add("@FingerPrint0", OleDbType.Binary).Value = new byte[1024];

                if (FingerPrint1 != null)
                    cmd.Parameters.Add("@FingerPrint1", OleDbType.Binary).Value = FingerPrint1;
                else
                    cmd.Parameters.Add("@FingerPrint1", OleDbType.Binary).Value = new byte[1024];

                cmd.ExecuteNonQuery();
                return 0;
            }
            catch(Exception e)
            {
                if( e is OleDbException)
                    return -3;
                else
                    return -1;
            }
            finally
            {
                conn.Close();
            }
        }
        
    }

 

posted on 2013-11-15 17:39  筑梦1582  阅读(278)  评论(0编辑  收藏  举报