본문 바로가기
개발언어/ASP.NET

db연동하기

by 엔돌슨 2007. 12. 9.
반응형

네이버 펌 그다지...음


SetDB.CS 파일을 하나 만듭니다.


using System;
using System.Data;
using System.Data.SqlClient;

namespace homepage
{
 ///


 /// Setdb에 대한 요약 설명입니다.
 ///

 public class Setdb
 {
  static string constr="server=123.123.123.123; uid=sa; password=1243; database=test;";
  static SqlConnection setdb;

  public static SqlDataReader SetdbReader(string query)
  {
   //
   // TODO: 여기에 생성자 논리를 추가합니다.
   //
   setdb = new SqlConnection(constr);
   setdb.Open();

   SqlCommand cmd = new SqlCommand(query,setdb);
   SqlDataReader rs = cmd.ExecuteReader(CommandBehavior.CloseConnection);

   return rs;
   
  }

  public static void SetdbExcute(string query)
  {
   setdb = new SqlConnection(constr);
   setdb.Open();

   SqlCommand cmd = new SqlCommand(query,setdb);
   cmd.ExecuteNonQuery();

   setdb.Close();
  }

  public static void xdbclose()
  {
   setdb.Close();
  }
 }
}
------------------------------------------------------------------------------------------------------------------------

string constr 에는 님 서버 환경에 맞게 아이피 주소랑 아이디, 비번, 데이터 베이스를 지정해 줍니다.


이건 디비 연결부분은 클래스로 따로 빼둔건데 이렇게 해두시면 여러번 구분을 적을필요 없이 필요한 함수를 호출해서 쓸수 있으므로 편합니다.


쿼리를 select 형식으로 쓰실꺼면 SetdbReader 를 호출하시고 나머지 update,delete,insert 는

SetdbExcute 이 함수를 호출하시면 됩니다.


본문으로 넘어가겠습니다.


우선 쿼리를 작성합니다.


Qeury = "insert into member(Name, Address, Age) values('"+TextBox1.value+"', '"+TextBox2.value+"', '"+TextBox3.value+"') "; 

이렇게 하면 해당 텍스트 박스의 value 값을 name,address,age 순서대로 필드에 insert 시키게 됩니다.


이제 작성한 쿼리를 디비에 날려 줍니다.


Setdb.SetdbExcute(Query);  <-- 아까 만든 Setdb.CS 파일 안에있는 SetdbExcute()함수를 호출한다는 뜻입니다.. 호출하면서 매개변수 값으로 방금 작성한 Query 를 넘겨 줍니다.


public static void SetdbExcute(string query)
  {
   setdb = new SqlConnection(constr);                                   // 데이터베이스 개체 생성
   setdb.Open();                                                                           // 데이터베이스 open

   SqlCommand cmd = new SqlCommand(query,setdb);       // SqlCommand 의 인스턴스 cmd생성
   cmd.ExecuteNonQuery();                                                       // cmd에 등록된 쿼리와 서버정보를 ExecuteNonQuery() 시켜준다.

   setdb.Close();                                                                            // open 한 디비 개체를 close 시켜준다.
  }


constr 에 입력한 서버정보만 맞다면 문제없이 디비에 글이 등록되셨을 겁니다.

제대로 됐는지 확인하실려면 쿼리분석기에서 해당 디비를 use 시킨다음


select * from member 를 작성하시고 마우스로 해당 영역을 드래그해서 지정한다음

F5번 키를 누르시면 입력된 데이터를 확인하실수 있습니다.


즐거움 프로그램 하세요.