Beispiel #1
0
        //NUGET에서 MYSQL 검색해서 다운받음
        public override DataSet selectQuery()
        {
            try
            {
                //https://blog.jjin.dev/31
                //코드 참고하였다. DataSet을 리턴해주는 코드를 찾은것이다.
                //그냥 mysql 연결만 하고 단순히 쓰려면 더 쉬운 코드는 많다.
                //상속개념을 이용하니 단점은 한 번 만들어 둔 틀대로 코드를 맞추는 것이고
                //장점은 메인 부분을 더이상은 손을 안 대도 된다는 것이다.
                //물론 설계가 잘못되면 메인을 다시 뜯어야 한다 ㅜㅜ....
                ConnectDB();

                string           sql = "SELECT * FROM CarManager";
                MySqlDataAdapter da  = new MySqlDataAdapter();
                MySqlCommand     cmd = Myconn.CreateCommand();
                cmd.CommandText  = sql;
                da.SelectCommand = cmd;
                ds = new DataSet();
                da.Fill(ds, "CarManager");

                Myconn.Close();
            }
            catch (Exception e)
            {
                showDBError(e);
            }
            return(ds);
        }
Beispiel #2
0
 public override void insertQuery(int parkingSpot)
 {
     try
     {
         ConnectDB();
         MySqlCommand cmd = new MySqlCommand("INSERT INTO CarManager (ParkingSpot)  VALUES ('" + parkingSpot + "')", Myconn);
         cmd.ExecuteNonQuery();
         Myconn.Close();
     }
     catch (Exception e)
     {
         showDBError(e);
     }
 }
        /// <summary>
        /// 自己的 GetSingle
        /// </summary>
        /// <param name="SQLString"></param>
        /// <param name="Myconn"></param>
        /// <param name="cmdParms"></param>
        /// <returns></returns>
        public static object GetSingle(string SQLString, Dictionary <SqlConnection, SqlTransaction> MyDict, params SqlParameter[] cmdParms)
        {
            SqlConnection  Myconn  = null;
            SqlTransaction MyTrans = null;

            if (MyDict.Count == 0)
            {
                Myconn = new SqlConnection(connectionString);
                Myconn.Open();
                MyTrans = Myconn.BeginTransaction();
                MyDict.Add(Myconn, MyTrans);
            }
            foreach (var item in MyDict)
            {
                Myconn  = item.Key;
                MyTrans = item.Value;
            }
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.Transaction = MyTrans;
                try
                {
                    PrepareCommand(cmd, Myconn, null, SQLString, cmdParms);
                    object obj = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();

                    //测试事物回滚
                    //int a = 1;
                    //int b = 0;
                    //b = a / b;

                    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
                    {
                        return(null);
                    }
                    else
                    {
                        return(obj);
                    }
                }
                catch (Exception e)
                {
                    MyTrans.Rollback();
                    Myconn.Close();
                    MyDict.Clear();
                    throw e;
                }
            }
        }
Beispiel #4
0
        public override void updateQuery(ParkingCar car)
        {
            try
            {
                ConnectDB();

                MySqlCommand cmd        = new MySqlCommand("", Myconn);
                string       sqlcommand = "Update CarManager set CarNumber = '', DriverName = '', PhoneNumber = '', ParkingTime = null where ParkingSpot = '" + car.parkingSpot + "'";

                if (car.carNumber != "") //주차
                {
                    sqlcommand = $"Update CarManager set CarNumber = '{car.carNumber}', DriverName = '{car.driverName}', PhoneNumber = '{car.phoneNumber}', ParkingTime = '{car.parkingTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}' where ParkingSpot = '{car.parkingSpot}'";
                }
                cmd.CommandText = sqlcommand;
                cmd.ExecuteNonQuery();
                Myconn.Close();
            }
            catch (Exception e)
            {
                showDBError(e);
            }
        }
Beispiel #5
0
        public override DataSet selectQuery()
        {
            try
            {
                ConnectDB();

                string            sql = "SELECT * FROM CarManager order by parkingspot";
                OracleDataAdapter oda = new OracleDataAdapter();
                oda.SelectCommand             = new OracleCommand();
                oda.SelectCommand.Connection  = OraConn;
                oda.SelectCommand.CommandText = sql;
                ds = new DataSet();
                oda.Fill(ds, "CarManager");

                Myconn.Close();
            }
            catch (Exception e)
            {
                showDBError(e);
            }
            return(ds);
        }