Newer
Older
IRIS_REFACTOR / irisDataBase / Service / mysqlImpl / FingerDataServiceImpl.cs
using irisHelper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Windows.Forms;

namespace irisDataBase.Service.mysqlImpl
{
    public class FingerDataServiceImpl : FingerDataService
    {
        public DataSet GetAllFingerTemplateLocal()
        {
            if (DatabaseLocal.mySqlConnect.State == ConnectionState.Closed)
            {
                int langue = Convert.ToInt32(ConfigHelper.GetAppConfig("language"));
                if (langue == 1)
                    MessageBox.Show("与本地数据库连接断开,软件即将关闭,请检查后再启动!", "提示");
                else
                    MessageBox.Show("Disconnect from local database", "message");
                Application.Exit();
                return null;
            }
            DataSet aDataSet = new DataSet();

            string sQry = "SELECT ID, PERSON_ID, FINGER_TEMPLATE, FINGER_LENGTH FROM finger_data";
            MySqlCommand aCommand = new MySqlCommand(sQry, DatabaseLocal.mySqlConnect);
            MySqlDataAdapter aAdapter = new MySqlDataAdapter();
            aAdapter.SelectCommand = aCommand;

            try
            {
                aAdapter.Fill(aDataSet);
            }
            catch (MySqlException exSqlDb)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, " getAllFingerTemplateLocal : " + exSqlDb.Message);
            }
            catch (Exception ex)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, " getAllFingerTemplateLocal : " + ex.Message);
            }

            return aDataSet;
        }

        public int InsertFingerData(Int64 id, Int64 personId, byte[] tempData, int tempLen)
        {
            try
            {
                if (DatabaseLocal.mySqlConnect.State == ConnectionState.Closed)
                {
                    MessageBox.Show("与本地数据库断开,软件即将关闭,请检查后再启动!");
                    Application.Exit();
                    return -1;
                }

                string sQry = "INSERT INTO finger_data(ID, PERSON_ID, FINGER_TEMPLATE, FINGER_LENGTH) values(@ID, @PERSON_ID, @FINGER_TEMPLATE, @FINGER_LENGTH)";

                MySqlCommand cmd = new MySqlCommand(sQry, DatabaseLocal.mySqlConnect);
                cmd.Parameters.Add("@ID", MySqlDbType.Int64, 20).Value = id;
                cmd.Parameters.Add("@PERSON_ID", MySqlDbType.Int64, 20).Value = personId;
                cmd.Parameters.Add("@FINGER_TEMPLATE", MySqlDbType.VarBinary, 2048).Value = tempData;
                cmd.Parameters.Add("@FINGER_LENGTH", MySqlDbType.Int64, 11).Value = tempLen;

                cmd.ExecuteNonQuery();

                cmd.Dispose();
            }
            catch (MySqlException e)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, " InsertFingerDataLocal : " + e.Message);
                return -1;
            }
            return 0;
        }
    }
}