아~ 다 됬네.
라는 느낌이 듭니다. 저만 그런건지는 모르겠지만 DB연결해서 데이터 SELECT가 성공적으로 되었다면 만들고자 하는 프로그램의 끝이 보이죠.
말 그대로 '시작이 반'인 느낌이 됩니다. 저만 그런가요?
이번에는 C#으로 간단하게 DB연결을 해보았습니다. 따로 설명드릴 내용은 없습니다만.. 사실 말씀드릴 내용도 없습니다. ^^
왼쪽 그림을 보시면 DB연결 버튼과 데이터요청 버튼이 있습니다.
DB연결 버튼을 누르면 Open 이란 값이 나오고, 데이터요청 버튼을 누르면 리치텍스트박스에 어떤 정보가 나옵니다.
요렇게 해서 DB 연결 테스트는 끄읏~. 아래는 UI 에 대한 간략한 표와 소스 코드가 되겠습니다. 이건 뭐 따로 프로그램을 드릴필요는 없겠네요. 그냥 타이핑을 치셔도 5분정도면 ^^;;
컨트롤타입 | 컨트롤 Name | 컨트롤 Text | 기타 |
---|---|---|---|
Button | button1 | DB 연결 | Nanum Gothic, 12pt, height:25 |
Button | button2 | 데이터 요청 | Nanum Gothic, 12pt, height:25 |
Label | lblConnection | 연결되지 않았습니다. | Nanum Gothic, 12pt |
RichTextBox | rtbList | 없음 | 기본 |
가장 간단하게 테스트 해보려고 뚝딱 만들었습니다. 아~ 난 맘에 안들어 하시는 분들은 다르게 만드셔도 상관없을 듯합니다. 아래는 코딩입니다. 코딩은 여러가지 방법이 있는것 같더군요. 저는 아주 초보라서 초보적으로 짰습니다. ^^;;
//업데이트 합니다.(jsm님 감사합니다.)
Form1.Designer.cs 파일에 아래 connection 변수를 정의했습니다. 참고하시기 바랍니다.
static private SqlConnection connection;
Form1.cs (폼명이 Form1 일때만 이 파일명입니다. 폼의 이름을 다르게 주셨으면 폼명.cs 파일이 될겁니다. 괜한 노파심이 ^^;;)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace testOledb { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { connectDb(); } private void connectDb() { string connectionString = getConnectionString(); using (connection = new SqlConnection(connectionString)) { try { connection.Open(); lblConnection.Text = connection.State.ToString(); } catch (Exception e) { MessageBox.Show(e.Message); } } } static private string getConnectionString() { return "Data Source=SQL서버주소;Initial Catalog=pubs;USER ID=아이디;PASSWORD=비밀번호"; } private void button2_Click(object sender, EventArgs e) { string connectString = getConnectionString(); using (connection = new SqlConnection(connectString)) { try { connection.Open(); string queryString = "select * from titleauthor"; SqlCommand command = new SqlCommand(queryString, connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataSet dataSet = new DataSet(); adapter.Fill(dataSet); if (dataSet.Tables.Count > 0) { foreach (DataRow row in dataSet.Tables[0].Rows) { rtbList.AppendText(row["au_id"].ToString()); rtbList.AppendText("\t"); rtbList.AppendText(row["title_id"].ToString()); rtbList.AppendText("\t"); rtbList.AppendText(row["au_ord"].ToString()); rtbList.AppendText("\t"); rtbList.AppendText(row["royaltyper"].ToString()); rtbList.AppendText("\n"); } } } catch (Exception er) { MessageBox.Show(er.Message); } finally { connection.Close(); } } } } }
일단은 pubs 데이터베이스로 하려합니다. 그리 어렵지 않으니 차근히 살펴보시기 바랍니다. 아래 링크는 MSDN에서 참조한 링크입니다.
System.Data.SqlClient 네임스페이스 관련 MSDN 주소
System.Data.SqlClient : http://msdn.microsoft.com/ko-kr/library/8t72t3k4.aspx
SqlCommand 클래스 : http://msdn.microsoft.com/ko-kr/library/system.data.sqlclient.sqlcommand.aspx
SqlConnection 클래스 : http://msdn.microsoft.com/ko-kr/library/system.data.sqlclient.sqlconnection.aspx
SqlDataAdapter 클래스 : http://msdn.microsoft.com/ko-kr/library/system.data.sqlclient.sqldataadapter.aspx
그럼 즐프하세요~~
'프로그래밍 > C#' 카테고리의 다른 글
C# 에서 웹브라우져 실행시키기 (0) | 2014.02.03 |
---|---|
C# 초간단 파일 검색 (0) | 2014.01.15 |
C# 웹 서비스 확장 응용하기 (1) | 2011.04.19 |
C# 웹 서비스 만들기 및 테스트 (4) | 2011.04.19 |
[C# TIP] 문자열에서 숫자만 추출하기 (5) | 2011.01.07 |
[C#] 콘솔 버전 - HTML 파싱하기 (10) | 2011.01.05 |
[C#] HTML 파싱해서 원하는 정보 가져오기 (3) | 2011.01.04 |
[C#] Win form으로 제작한 웹페이지 소스보기 (6) | 2010.12.30 |