SQL관련 클래스

서병수·2023년 8월 5일
0

SQL

목록 보기
5/5
  1. MySqlConnection 관련 내용
    역할 : DB와 여닫는 역할과 트랜잭션을 처리하는 역할을 한다.
    주요 속성과 메서드
    1) void Open() : DB와 연결
    2) MySqlCommnad CreateCommand() : MySqlCommand객체 생성(DB와 상호작용하는 객체)
    3) MySqlDataReader CreateDataReader() : MySqlDataReader객체 생성(DB의 데이터를 읽을 수 있는 객체)
  1. MySqlCommand 관련 내용
    역할 : Sql실행에 관련된 역할을 한다.
    주요 속성과 메서드
    1) int ExecuteNonQuery() : INSERT, UPDATE, DELETE와 같은 작업을 실행하고 영향받은 행의 수 반환
    2) object ExecuteScalar() : 단일값을 반환하는 쿼리 (하나의 컬럼만 반환가능)
    3) MySqlDataReader ExecuteReader() : MySqlDataReader객체를 생성
    4) CommandText : 실행할 쿼리의 텍스트를 지정
  1. MySqlDataRead 관련 내용
    역할 : DB의 값을 읽어오는 역할
    주요 속성과 메서드
    1) Read() : 결과 세트의 다음 레코드로 이동하고 읽을 수 있는지 여부를 반환합니다.

예시를 보자

MySqlConnection 내가 만든거
static public MySqlConnection connectDB()
        {
            MySqlConnection sqlConnection_TEAMDB = new MySqlConnection(비밀);
            try
            {
                sqlConnection_TEAMDB.Open();
                return sqlConnection_TEAMDB;
            }
            catch (Exception e)
            {
                Log.writeLog(e.ToString());
                return null;
            }

        }     
        
// 1. 값을 읽어오는 예시

    using (MySqlConnection connection =  ConnectDB.connectDB())
            {
                using (MySqlCommand command = connection.CreateCommand())
                {
                    command.CommandText = "Select name from item_group";
                    using (MySqlDataReader reader = command.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                itemGroupBox.Items.Add(reader[0].ToString());
                            }
                        }
                        catch(Exception ex)
                        {
                            Log.writeLog(ex.ToString());
                        }
                    }
                }
            }
..2. 값을 업데이트 하는 예시

  using (MySqlConnection connection = ConnectDB.connectDB())
                {
                    using (MySqlCommand command = connection.CreateCommand())
                    {

                        command.CommandText = "update part " +
                                              "set barcode = @barcodetext " +
                                              "where name = @parttext";
                        command.Parameters.Add("@barcodetext", MySqlDbType.VarChar).Value = barcodetext;
                        command.Parameters.Add("@parttext", MySqlDbType.VarChar).Value = parttext;
                        try
                        {
                            int affected = command.ExecuteNonQuery();
                            if (affected != 0 )
                            {
                                MessageBox.Show("저장됐습니다.");
                            }
                            else
                            {
                                MessageBox.Show("저장에 실패했습니다.");
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.writeLog(ex.ToString());
                        }
                    }
                }
            }
profile
안녕하십니까 인사올립니다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN