GSI

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랑은 상관없다.


위의 내용을 토대로 해서 기본 테이블에서 내용을 가져 와서 검색 하고
하는 등의 내용을 해결할 수 있을거 같다.
위의 내용을 토대로 로그인 페이지를 만들어 볼려고 한다.






 

Posted by gsi
: