'DataRow'에 해당되는 글 3건
- 2007/12/14 [C#] DataGridView 이벤트 처리 - SelectionChanged
- 2007/12/05 [C#] DataSet > DataTable > DataRow 연동관계 - 세부 컬럼의 정보 알아 오기
- 2007/09/01 OleDB 를 이용한 MS Access DB 접근하기
// DataGridView 객체 얻어 오기
DataGridView dgv = sender as DataGridView;
if (dgv == null)
return;
// 셀단위로 선택된 것이 있는지 찾는다. 하나도 없을때 리턴
if (dgv.SelectedCells.Count == 0)
return;
// DB와 연결되어 있을때. DataSet의 테이블 정보를 가져온다.
DataTable dtItem = azitro_testDataSet.Tables[0];
// DataRow를 가져 오기 위해서 DataGridView의 선택된 셀정보를 가져와서
// RowIndex를 리턴해 준다.
// RowIndex의 값을 사용해서 DataRow를 구한다.
DataRow rwItem = dtItem.Rows[dgv.SelectedCells[0].RowIndex];
// Row의 셀 정보를 가져온다. (DB 내용)
string strCatenum = rwItem["cate_Num"].ToString();
string strCatedep = rwItem["cate_dep"].ToString();
string strCatesel = rwItem["cate_sel"].ToString();
string strsiImg = rwItem["icon_img"].ToString();
txtSelName.Text = rwItem["item_name"].ToString();
txtSelContents.Text = rwItem["item_contents"].ToString();
// DB에 있는 내용을 사용해서 폴더 경로를 구한다.
string filepath;
filepath = Application.StartupPath
+ "\\itemlist\\"
+ strCatenum + "\\"
+ strCatesel + "\\"
+ strsiImg + ".png";
// 파일이 존재 하는지 검사한다.
if (File.Exists(filepath))
{
// 이미지를 연결하고 화면에 출력한다.
picItemImage.Image = Image.FromFile(filepath);
}
else
{
// 이미지가 없을때 null 처리
picItemImage.Image = null;
}
DataSet을 생성하고 그곳에 있는 특정 Row의 값을 가져 와서
Row 내부에 있는 Column의 정보를 가져 올때 아래와 같이 하면 됨.
DataTable dtItem = azitro_testDataSet.Tables[0]; // DataSet에서 DataTable을 가져옴
DataRow rwItem = dtItem.Rows[0]; // DataTable에서 DataRow을 가져옴.
string strCatenum = rwItem["cate_Num"].ToString(); // DataRow의 해당 컬럼 정보를 가져옴.
DB명 : member.mdb
테이블 이름 : BookTable
테이블 내용 : ID(일련번호), Title(텍스트)
cs 파일 내용
네임 스페이스
using System.Data.OleDb;
(이것만 선언 해서 안되는거 같네욤, References 에 "System.Data"를
추가해주어야 합니다.)
OleDbConnection, OleDbDataAdapter 처리
string mdbFile = Path.Combine(AppDataPath, "d:\\member.mdb");
string connString = string.Format(
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}", mdbFile);
OleDbConnection conn = new OleDbConnection(connString);
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM BookTable;", conn);
DataSet 연결 (전역으로 만들어 놓는다.)
DataSet myDataSet;
adapter.Fill(myDataSet, "BookTable");
활용
ListBox에 연결시...
myListBox.DataContext = myDataSet;
... 나머지는 xaml에서 처리가능...
<StackPanel>
<StackPanel.Resources>
<c:IntColorConverter x:Key="MyConverter"/><DataTemplate x:Key="BookItemTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Path=Title}" Grid.Column="0"
FontWeight="Bold" />
</Grid>
</DataTemplate>
</StackPanel.Resources><ListBox Name="myListBox" Height="200"
ItemsSource="{Binding Path=BookTable}"
ItemTemplate ="{StaticResource BookItemTemplate}"/>
<Button Click="OnClick">Add Record</Button>
</StackPanel>
foreach 문을 사용해서 비교 할때...
DataTable dt = myDataSet.Tables["BookTable"];
foreach (DataRow row in dt.Rows)
{
string ss = row["Title"].ToString();
}
- "BookTable" 테이블 명이다.
- "Title" 컬럼 번호. (0, 1, 2, 인덱스도 가능하다.)
DataRow를 사용해서 Row 추가 할때...
DataTable myDataTable = myDataSet.Tables["BookTable"];
DataRow row = myDataTable.NewRow();
row["Title"] = "손병욱";
myDataTable.Rows.Add(row); //<--이것은 DB랑은 상관없다.
위의 내용을 토대로 해서 기본 테이블에서 내용을 가져 와서 검색 하고
하는 등의 내용을 해결할 수 있을거 같다.
위의 내용을 토대로 로그인 페이지를 만들어 볼려고 한다.

Prev
Rss Feed