2009/Study 모임 B조2009. 2. 24. 14:03
#region ExecuteScalar

  /// <summary>
  /// Execute a single command against a MySQL database.
  /// </summary>
  /// <param name="connectionString">Settings to use for the update</param>
  /// <param name="commandText">Command text to use for the update</param>
  /// <returns>The first column of the first row in the result set, or a null reference if the result set is empty.</returns>
  public static object ExecuteScalar(string connectionString, string commandText)
  {
   //pass through the call providing null for the set of MySqlParameters
   return ExecuteScalar(connectionString, commandText, (MySqlParameter[])null);
  }

  /// <summary>
  /// Execute a single command against a MySQL database.
  /// </summary>
  /// <param name="connectionString">Settings to use for the command</param>
  /// <param name="commandText">Command text to use for the command</param>
  /// <param name="commandParameters">Parameters to use for the command</param>
  /// <returns>The first column of the first row in the result set, or a null reference if the result set is empty.</returns>
  public static object ExecuteScalar(string connectionString, string commandText, params MySqlParameter[] commandParameters)
  {
   //create & open a SqlConnection, and dispose of it after we are done.
   using (MySqlConnection cn = new MySqlConnection(connectionString))
   {
    cn.Open();

    //call the overload that takes a connection in place of the connection string
    return ExecuteScalar(cn, commandText, commandParameters);
   }
  }

  /// <summary>
  /// Execute a single command against a MySQL database.
  /// </summary>
  /// <param name="connection"><see cref="MySqlConnection"/> object to use</param>
  /// <param name="commandText">Command text to use for the command</param>
  /// <returns>The first column of the first row in the result set, or a null reference if the result set is empty.</returns>
  public static object ExecuteScalar(MySqlConnection connection, string commandText)
  {
   //pass through the call providing null for the set of MySqlParameters
   return ExecuteScalar(connection, commandText, (MySqlParameter[])null);
  }

  /// <summary>
  /// Execute a single command against a MySQL database.
  /// </summary>
  /// <param name="connection"><see cref="MySqlConnection"/> object to use</param>
  /// <param name="commandText">Command text to use for the command</param>
  /// <param name="commandParameters">Parameters to use for the command</param>
  /// <returns>The first column of the first row in the result set, or a null reference if the result set is empty.</returns>
  public static object ExecuteScalar(MySqlConnection connection, string commandText, params MySqlParameter[] commandParameters)
  {
   //create a command and prepare it for execution
   MySqlCommand cmd = new MySqlCommand();
   cmd.Connection = connection;
   cmd.CommandText = commandText;
   cmd.CommandType = CommandType.Text;
   
   if (commandParameters != null)
    foreach (MySqlParameter p in commandParameters)
     cmd.Parameters.Add( p );
   
   //execute the command & return the results
   object retval = cmd.ExecuteScalar();
   
   // detach the SqlParameters from the command object, so they can be used again.
   cmd.Parameters.Clear();
   return retval;
   
  }

  #endregion
 }
}


http://www.koders.com/csharp/fid01EA450A209966FCB52CA84DABB208DEF807D142.aspx
Posted by penguindori
2009/Study 모임 B조2009. 2. 21. 21:02
예제 1)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InheritanceMethodExam
{
    class BTeam
    {
        protected string TeamName;
        protected int Age;
        public BTeam(string TeamName, int Age) //생성자
        {
            this.TeamName = TeamName;
            this.Age = Age;
        }

        public virtual void BteamInfo() //virtual 은 상속 받는 class에서 변경 하겠다 선언
        {
            Console.WriteLine(TeamName);
            Console.WriteLine(Age);
        }
    }
    class BTeamInfo : BTeam
    {
        protected string address;
        public BTeamInfo(string TeamName, int Age, string address)
            : base(TeamName, Age) // 부모의 생성자를 호출하여 초기화
        {
            this.address = address;
        }
        public override void BteamInfo()
        {
            base.BteamInfo();
            Console.WriteLine(address);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            BTeamInfo bt = new BTeamInfo("박세우",28,"경기 안산");
            bt.BteamInfo();
        }
    }
}

예제2) 부모 class는 자식 class를 모두 받을 수 있다.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace InheritanceMethod2
{
    class A { }
    class B : A { }
    class C : A { }
    class D : A { }
   
    class Program
    {
        static void Main(string[] args)
        {
            A[] As = new A[10];  //부모 class A에 자식 클레스 대입이 가능 합니다.
            As[0] = new B();
            As[1] = new C();
            As[2] = new D();
        }
    }
}


Posted by penguindori
2009/Study 모임 B조2009. 2. 21. 15:04
abstract(추상화) 
:    예를 들어 나는 말을 한다. 하지만 말은 하지만 어떤 말을 할 지는 알 수 없다.
     이런 명확하지 않지만 반드시 하는 것을 정의 할때 추상화 class를 사용 합니다.
    (개인적으로 생각 하는 개념 )                                     

   
[형식]
 지정자 abstract  class 이름 :  기반 abstract
{
   // 멤버 목록
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AbstractExam
{

    public class Ok
    {
}
    public abstract class A : Ok
    {
        public abstract string Name { get; set; }
        public abstract void Display();
        public abstract void Move();
    }

    public class B : A
    { 
       public override string Name
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }
        public override void Display()
        {
            Console.WriteLine("화면에 보여준다.");
        }
        public override void Move()
        {
            Console.WriteLine("이동");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            B ok = new B();

            ok.Display();
            ok.Move();
        }
    }
}


Posted by penguindori
2009/Study 모임 B조2009. 2. 17. 11:22
inheritance(상속)
: 특정 class의 모든 멤버를 물려 받는 것을 말합니다.
  (메소드, 필드, 해당 class에 선언된 모든 부분)

[형식]
protected class 기반class
{
  // 멤버 목록
}

지정자 class 이름 :
기반 class
{
    //멤버 목록
}

[알아두어야 할 사항]
public, protected .. 의 지정자 class로 설정 해야 해당 class의 멤버들을 사용 할 수 있습니다.

sealed 의 지정자는 상속 할 수 없습니다.

상속 class 사용 예제 (winform)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace InheritanceExam
{
    class initForm : Form
    {
        public initForm()
        {
            this.Location = new System.Drawing.Point(0,0);
            this.StartPosition = FormStartPosition.CenterScreen;
            this.FormBorderStyle = FormBorderStyle.None;
            this.WindowState = FormWindowState.Normal;
            this.Dock = DockStyle.None;
        }
    }

   
    class Program : initForm
    {
        static void Main(string[] args)
        {
            Application.Run(new Program());
        }
    }
}





Posted by penguindori
2009/Study 모임 B조2009. 2. 16. 00:18
class :  객체 지향의 가장 핵심이 되는 주체
(함수, 변수, 상수등 모든 것이 클래스 소속 되어야 함)

[형식]
 지정자 class 이름 : 기반 class
{
   // 멤버 목록
}
지정자 :                                              
 1. public class A {}
     외부에서 마음대로 Access 할 수 있습니다.
 2. private class A {}
     내부에서만 Access 할 수 있습니다.
 3. protected class A {}
     내부 혹은 상속 받을 때만 Access 할 수 있 
     습니다.
 4. sealed class A {}
    상속 할 수 없는 class 입니다.
 5. partial class A {}
     partial 을 사용 하고 class 이름이 같을 경우
     동일한 class로 인식 합니다.

기본 Class 사용 방법

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Study1
{

    class BTeam
    {
        Dictionary<int, string> userName;
        public Dictionary<int, string> inUser (int num, string uName)
        {
                #region Exception 처리
                if(num < 0 || num > 20)
                    Console.WriteLine("0~20 사이의 값을 입력해 주세요.");
                #endregion

                userName = new Dictionary<int, string>();
                userName.Add(num,uName);

                return userName;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            BTeam bjo = new BTeam();
            Dictionary<int, string> a = bjo.inUser(1, "AAA");

            foreach (KeyValuePair<int,string> KeyPrint in a)
            {
                Console.WriteLine(KeyPrint.Value);
            }

        }
    }
}









Posted by penguindori