'.NET > ADO.NET' 카테고리의 다른 글
DataSet (0) | 2010.04.02 |
---|---|
DataView (0) | 2010.04.02 |
SqlDataReader (1) | 2010.04.02 |
SqlCommand 클래스 (0) | 2010.03.31 |
Connetion (0) | 2010.03.31 |
DataSet (0) | 2010.04.02 |
---|---|
DataView (0) | 2010.04.02 |
SqlDataReader (1) | 2010.04.02 |
SqlCommand 클래스 (0) | 2010.03.31 |
Connetion (0) | 2010.03.31 |
CommandType
namespace Test
{
class Program
{
static void Main(string[] args)
{
string connString = "server = 504-12\\SQL2005;database=tempdb;"; //서버의와 데이터베이스를 선택한다.
connString = connString + "uid=Man;password=0000;"; //아이디와 패스워드를 적는다.
SqlConnection con = new SqlConnection(connString); //인자로 connectstring을 넣어서 DB를 셋팅해준다.
con.Open(); //DB 에 접속한다.
SqlCommand mycon = new SqlCommand(); // Command 클래스 객체를만들어준다.
mycon.Connection = con; //접속된 DB의 인스턴스를 가져온다.
mycon.CommandText ="insert j_table(m_name, m_age)values ('성진용','26')";
//데이터를 가져오거나 설정해준다.
mycon.ExecuteNonQuery();
con.Close();
}
}
}
속성들의 사용예제
DataSet (0) | 2010.04.02 |
---|---|
DataView (0) | 2010.04.02 |
SqlDataReader (1) | 2010.04.02 |
SqlParameter 클래스 (0) | 2010.03.31 |
Connetion (0) | 2010.03.31 |
Connection 클래스
Connection 클래스는 DB와 연결할 수 있도록 해주는 가장 기본이 되는 클래스이다.
SqlConnection 클래스
SqlConnection 클래스는 MS SQL서버 전용
- 속도가 빠르다
Public 속성 |
설명 |
ConnectionString |
SQL 서버를 여는데 사용되는 문자열 |
ConnectionTimeOut |
DB에 접근을 시도하고 오류를 생성하기 전에 연결하려는 동안 대기하는 시간 |
Container(컴포넌트에 상속) |
컴포넌트가 포함된 IContainer |
Database |
DB의 이름 |
DataSource |
SQL 서버의 인스턴스 이름 |
PacketSize |
SQL 서버의 인스턴스와 통신하는데 사용할 네트워크 패킷의 크기를 바이트 단위로 가져옴 |
ServerVersion |
클라이언트가 연결된 SQL 서버 인스턴스의 버전을 포함한 문자열 |
Site(컴포넌트에 상속) |
Component의 ISite |
State |
현재의 연결 상태 |
WorkStationId |
DB 클라이언트를 식별하는 문자열 |
Protected 속성 |
설명 |
DesignMode(컴포넌트에 상속) |
컴포넌트가 현재 디자인 모드인지 여부를 나타내는 값을 가져옴 |
Events(컴포넌트에서 상속) |
컴포넌트에 연결된 이벤트 핸들러의 목록을 가져옴 |
Public 메소드 |
설명 |
BeginTransaction |
DB의 트랜잭션을 시작한다 |
ChangeDataBase |
DB 이름을 변경한다 |
Close |
DB 연결을 종료한다 |
CreateCommand |
SqlCommand 개체를 만든다 |
CreateObjRef |
원격 개체와 통신하는데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어있는 개체를 만든다 (MarshalByRefObject에서 상속) |
Dispose |
컴포넌트에서 사용하는 리소스를 해제한다 |
Equals |
두 개의 오브젝트 인스턴스가 같은지 여부를 확인한다 |
GetHashCode |
특정 형식에 대한 해시 함수로 사용된다 |
GetLifetimeService |
인스턴스의 수명정책을 제어하는 현재의 수명 서비스 개체를 검색한다(MarshalByRefObject에서 상속) |
GetType |
인스턴스의 타입을 가져온다 |
InitializeLifeTimeService |
인스턴스의 수명정책을 제어하기 위한 수명 서비스 개체를 가져온다 (MarshalByRefObject에서 상속) |
Open |
연결문자열에 의해 지정된 속성설정으로 DB에 연결한다 |
ToString |
현재 오브젝트를 나타내는 문자열을 반환한다 |
OleDbConnection 클래스
OleDbConnection 클래스는 오라클, 엑세스등
- 다른 DBMS의 경우 활용
MS SQl 서버로 접속해보자.
먼저 Connection String에 데이터를 넣는다.
string connString = "server=504-12\\SQL2005;database=tempdb;"; //해당서버이름과 데이터베이스명
connString = connString + "uid=Myworld;password=myworld;"; //아이디와 패스워드
connString = connString + "Connect Timeout=30"; //ConnectionTimeout 설정 30초
Connection String을 연결 클래스에 인자로 넣어준다.
SqlConnection sConn = new SqlConnection(connString); //DB접속 셋팅
Open함수로 연결문자열에 의해 지정된 속성설정으로 DB에 접속한다.
try
{
sConn.Open();
Response.Write("<br>Myworld에 정상적으로 연결되었습니다");
}
catch(Exception ex)
{
Response.Write("<br>연결 오류");
//Response 이 개체를 사용하면 클라이언트에 HTTP 응답 데이터를 보내고 이 응답에 대한 정보를 포함할 수 있다.
Response.Write("오류내용 : " + ex.ToString());
}
finally
{
if(sConn != null)
sConn.Close();
}
추가!!
계정생성시 데이터베이스의 상태
고정 서버 역할 |
설명 |
bulkadmin |
BULK INSERT 문을 실행할 수 있음 |
dbcreator |
데이터베이스를 생성, 변경, 삭제, 복원할 수 있음 |
diskadmin |
디스크 파일을 관리할 수 있음 |
processadmin |
SQL Server의 인스턴스에서 실행되는 프로세스를 종료할 수 있음 |
securityadmin |
로그인 및 해당 속성을 관리함. 서버 수준과 데이터베이스 수준의 사용권한을 부여(GRANT), 거부(DENY), 취소(REVOKE)할 수 있음 |
serveradmin |
서버 차원의 구성 옵션을 변경하고 서버를 종료할 수 있음 |
setupadmin |
연결된 서버를 추가하거나 제거하고 일부 시스템 저장프로시저를 실행할 수 있음 |
sysadmin |
서버에서 모든 작업을 수행할 수 있음 |
고정 데이터베이스 역할 |
설명 |
db_accessadmin |
Windows 로그인, Windows 그룹 및 SQL Server 로그인에 대한 액세스를 추가, 제거할 수 있음 |
db_backupoperator |
데이터베이스를 백업할 수 있음 |
db_datareader |
사용자 테이블의 모든 데이터를 읽을 수 있음 |
db_datawriter |
사용자 테이블에서 데이터를 추가, 삭제, 변경할 수 있음 |
db_ddladmin |
데이터베이스에서 모든 DDL(데이터 정의어) 명령을 실행할 수 있음 |
db_denydatareader |
데이터베이스 내에 있는 사용자 테이블의 데이터를 읽을 수 없음 |
db_denydatawriter |
데이터베이스 내의 사용자 테이블의 데이터를 추가, 수정, 삭제할 수 없음 |
db_owner |
데이터베이스에서 모든 구성 및 유지 관리 작업을 수행할 수 있음 |
db_securityadmin |
멤버 자격을 수정하고 사용권한을 관리할 수 있음 |
public |
모든 데이터베이스 사용자에게 디폴트로 부여되는 최소 권한을 갖는 역할 |
DataSet (0) | 2010.04.02 |
---|---|
DataView (0) | 2010.04.02 |
SqlDataReader (1) | 2010.04.02 |
SqlParameter 클래스 (0) | 2010.03.31 |
SqlCommand 클래스 (0) | 2010.03.31 |
윈도우 서비스 만들기 (0) | 2010.04.04 |
---|---|
ReadLine, Read, ReadKey (0) | 2010.04.03 |
Const Vs Readonly (0) | 2010.03.29 |
Sealed (0) | 2010.03.29 |
Sort메소드 (0) | 2010.03.28 |
상 수와 읽기 전용 필드의 이진 버전 관리 의미는 다릅니다. 식에서 상수를 참조할 경우 컴파일 타임에 상수 값을 가져오지만, 식에서 읽기 전용 필드를 참조할 경우 런타임까지 필드 값을 가져오지 않습니다. 별개의 두 프로그램으로 구성된 응용 프로그램을 살펴보겠습니다.
Program1
및 Program2
네임스페이스는 별도로 컴파일된 두 프로그램을 나타냅니다. Program1.Utils.X
를 정적 읽기 전용 필드로 선언했기 때문에 Console.WriteLine
문에서 출력하는 값을 컴파일 타임에 알 수 없으며, 런타임에 해당 값을 가져옵니다. 따라서 X
값이 변경되고 Program1
이 다시 컴파일되면 Program2
가 다시 컴파일되지 않더라도 Console.WriteLine
문이 새 값을 출력합니다. 그러나 X
가 상수였기 때문에 Program2
를 컴파일 할 때 X
값을 가져오며, Program2
를 다시 컴파일할 때까지 Program1
의 변경으로 인해 영향을 받지 않습니다.
[출처] C# const vs readonly |작성자 좋은생각
ReadLine, Read, ReadKey (0) | 2010.04.03 |
---|---|
어셈블리 동적 로딩 (0) | 2010.03.31 |
Sealed (0) | 2010.03.29 |
Sort메소드 (0) | 2010.03.28 |
Delegate-2 (0) | 2010.03.27 |
using System;
using System.Collections.Generic;
using System.Text;
namespace ClassTest4
{
class AB
{
public virtual void ABC()
{
Console.WriteLine("A-ABC");
}
public virtual void Display()
{
Console.WriteLine("A-Display");
}
public virtual void Output()
{
Console.WriteLine("A-Output");
}
}
class A:AB {
public sealed override void ABC() {
Console.WriteLine("A-ABC");
}
public override void Display()
{
Console.WriteLine("A-Display");
}
public override void Output()
{
Console.WriteLine("A-Output");
}
}
class B :A{
/* public override void ABC() {
Console.WriteLine("B-ABC");
} 위가 실드로 되어있어서 재정의 못함*/
public override void Display() {
Console.WriteLine("B-Display");
}
}
class CTest
{
static void Main(string[] args)
{
A pA = new A();
pA.ABC();pA.Display();pA.Output();
pA = new B();
pA.ABC();pA.Display();pA.Output();
}
}
}
[출처] sealed 메서드와 클래스|작성자 rlaals6961
어셈블리 동적 로딩 (0) | 2010.03.31 |
---|---|
Const Vs Readonly (0) | 2010.03.29 |
Sort메소드 (0) | 2010.03.28 |
Delegate-2 (0) | 2010.03.27 |
직렬화 (0) | 2010.03.27 |
MFC 시험 (0) | 2010.03.24 |
---|---|
COM시험 (컴포넌트 이용해서 채팅하기) (0) | 2010.03.24 |
컴포넌트 생성및 접근 (0) | 2010.03.15 |
Registry (0) | 2010.03.15 |
COM이론2장 (0) | 2010.03.13 |
Const Vs Readonly (0) | 2010.03.29 |
---|---|
Sealed (0) | 2010.03.29 |
Delegate-2 (0) | 2010.03.27 |
직렬화 (0) | 2010.03.27 |
AS, IS (0) | 2010.03.25 |
예제
[Serializable] //클래스위에 이것을 선언해줘야 한다. 파생된 클래스들도 함께~~
public sealed class SB
직렬화
public void Serialize()
{
IFormatter formatter = new BinaryFormatter();
Stream streamWrite = new FileStream("MyFile.txt",FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(streamWrite, member);
streamWrite.Close();
}
역직렬화
public void DeSerialize()
{
IFormatter formatter = new BinaryFormatter();
Stream streamRead = new FileStream("MyFile.txt", FileMode.Open, FileAccess.Read, FileShare.None);
member = (ArrayList)formatter.Deserialize(streamRead);
streamRead.Close();
}
Sort메소드 (0) | 2010.03.28 |
---|---|
Delegate-2 (0) | 2010.03.27 |
AS, IS (0) | 2010.03.25 |
Catch(Exception) (0) | 2010.03.25 |
Delegate (0) | 2010.03.25 |