goo blog サービス終了のお知らせ 

Visual C# 2005で仕事しよう

Visual C# 2005 を使って小売業で 使えるプログラムを作成する

プログラムの基礎 003

2008年07月03日 13時37分13秒 | VisualC# 2005

003 SortedList を 更新する

キーのあるデータを更新するには、TryGetValue を 使います。

SortedList に 読み込んだ内容を更新します。

フォーム上に ボタンを 2つ 追加し、クリックイベントを追加してから

書いてみてください。

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication16
{
    public partial class Form1 : Form
    {
        private  SortedList<string,string>  m_sLdata  =  new SortedList<string,string> ();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {            
            m_sLdata.Clear();

            m_sLdata.Add(  "001",  "001,田 町 ,0"  );
            m_sLdata.Add(  "002",  "002,松 島 ,0"  );
            m_sLdata.Add(  "003",  "003,通 町 ,0"  );
            m_sLdata.Add(  "005",  "005,木 太 ,0"  );
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string[]  sdata;

            string    skey,  swk,  sa;

            skey  =  "005";

            if  (  m_sLdata.TryGetValue(  skey,  out  sa  )  )
            {
                sdata       =  sa.Split(  ','  );

                sdata[ 1 ]  =  "広 場 ";

                swk  =  "";

                foreach(  string  s  in  sdata  )
                {
                    swk  =  swk  +  s  +  ',';
                }

                swk  =  swk.TrimEnd(  ','  );

                m_sLdata[ skey ]  =  swk;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string  swk;

            swk  =  "";

            foreach(  KeyValuePair<string,string>  kvp  in  m_sLdata  )
            {
                swk  =  swk  +  kvp.Value  +  "\n";
            }

            MessageBox.Show(  swk  );
        }
        
    }
}

プログラムの基礎 002

2008年06月20日 13時19分58秒 | VisualC# 2005

002 ファイルを書き込む

ファイルを読み書きするには System.IO を 追加します。

SortedList に 読み込んだ内容を書き込みます。

フォーム上に ボタンを 一つ 追加し、クリックイベントを追加してから

書いてみてください。

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;



using System.IO;



namespace WindowsApplication13
{
    public partial class Form1 : Form
    {
        private  SortedList<string,string>  m_sLdata  =  new SortedList<string,string> ();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //  e:/ue/dataf01/a1.txt を m_sLdata へ 読み込む
            //
            //  前提条件 ファイルはカンマ区切りで構成されている。
            //
            // データの 0 番目 が 主キー である。
            //
            // (例) 001,aaa,bbb,ccc
            //          002,ddd,fff,eee
            //

            string[]  sdata;

            string    sfn,  sbuf,  swk;

            sfn  =  "e:/ue/dataf01/a1.txt";

            m_sLdata.Clear();

            using(  StreamReader  sr  =  new StreamReader (  sfn,  Encoding.Default  )  )
            {
                while(  true  )
                {
                    sbuf  =  sr.ReadLine();

                    if  (  sbuf  ==  null  )
                    {
                        break;
                    }

                    sdata  =  sbuf.Split(  ','  );

                    m_sLdata.Add(  sdata[ 0 ],  sbuf  );

                }  //  while(  true  )

            }  //  using

            swk  =  String.Format(  "読み込み {0} 件",  m_sLdata.Count  );

            MessageBox.Show(  swk  );
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //  e:/ue/dataf01/a2.txt へ 書き込む

            string  sbuf,  sfn,  swk;

            int     ioutdata;

            sfn       =  "e:/ue/dataf01/a2.txt";

            ioutdata  =  0;

            using(  StreamWriter  sw  =  new StreamWriter (  sfn,  false,  Encoding.Default  )  )
            {
                foreach(  KeyValuePair<string,string>  kvp  in  m_sLdata  )
                {
                    sbuf  =  kvp.Value;

                    sw.WriteLine(  sbuf  );

                    ioutdata++;
                }
            }

            swk  =  String.Format(  "ファイル [{0}] へ {1} 件 書き込みました",  sfn,  ioutdata  );

            MessageBox.Show(  swk  );
        }
    }
}

プログラムの基礎 001

2008年06月18日 17時57分35秒 | VisualC# 2005

001 ファイルを読み込む

ファイルを読み込むには System.IO を 追加します。

キーを持たない、または、読み込むだけで良い場合は

List<string> に 入れてしまいましょう。

 

キーがある場合は、 SortedList<string,string> を 使います。

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;



using System.IO;



namespace WindowsApplication13
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //  e:uedataf01a1.txt を m_sLdata へ 読み込む

            List<string>  m_sLdata  =  new List<string> ();

            string        sfn,  sbuf,  swk;

            sfn  =  "e:/ue/dataf01/a1.txt";

            m_sLdata.Clear();

            using(  StreamReader  sr  =  new StreamReader (  sfn,  Encoding.Default  )  )
            {
                while(  true  )
                {
                    sbuf  =  sr.ReadLine();

                    if  (  sbuf  ==  null  )
                    {
                        break;
                    }

                    m_sLdata.Add(  sbuf  );

                }  //  while(  true  )

            }  //  using

            swk  =  String.Format(  "読み込み {0} 件",  m_sLdata.Count  );

            MessageBox.Show(  swk  );
        }
    }
}

データベース 作成 008

2007年06月09日 11時51分11秒 | VisualC# 2005

引き続き、Form1 を 作成していきます。

今回の画像を参考に、作ってください。タブオーダーで 説明します。

タブオーダー 0 テキストボックス
デザイン(Name)---tBkey
配置Location---110,80
配置Size---100,23
表示TextAlign---Right

タブオーダー 1 ボタン
デザイン(Name)---btnRead
配置Location---233,75
配置Size---75,33
表示Text---呼出

タブオーダー 2 テキストボックス
デザイン(Name)---tBdata
動作Multiline---true
配置Location---110,140
配置Size---320,164

タブオーダー 3 ボタン
デザイン(Name)---btnWrite
配置Location---233,315
配置Size---75,33
表示Text---書込

タブオーダー 4 テキストボックス
デザイン(Name)---tBmsg
動作ReadOnly---true
動作TabStop---False
配置Location---23,33
配置Size---957,23

タブオーダー 5 ラベル
配置AutoSize---False
配置Location---23,80
配置Size---71,23
表示BorderStyle---FixedSingle
表示Text---キー
表示TextAlign---MiddleRight

タブオーダー 6 ラベル
配置AutoSize---False
配置Location---23,140
配置Size---71,23
表示BorderStyle---FixedSingle
表示Text---キー
表示TextAlign---MiddleRight

メインのForm1 も 変更します

配置Size---1000,700
配置StartPosition---CenterScreen
配置WindowState---Maximized

配置が 終了したら 一度 リビルドして

呼出、書込 ボタンの クリックイベントを追加します。

ボタンをダブルクリックすると 作成されます。

ここから、今日の メインイベントです。

ソリューションエクスプローラ から DATA01DataSet.xsd を 右クリック デザイナの表示

TABLE01
KEY20
DATA
TABLE01TableAdapter
Fill,GetData()

こんなのが でてきます。 これの TABLE01 の 上で 右クリック 構成

TableAdapter 構成ウィザード
SQLステートメントの入力

が 表示されます。 クエリビルダ を クリック

KEY20の行 フィルタ に 次のように入力

>= ? and <= ?

で エンター

フィルタが >= @Param1 AND <= @Param2 に なればOK

元の ウィザード画面に戻ったら 次へ

生成するメソッドの選択 デフォルトで 次へ

ウィザードの結果 で 完了

Form1 に

private  DATA01DataSet.TABLE01DataTable  m_dtt;
private  DATA01DataSet.TABLE01Row        m_dtr;
private  int  m_iNew;

を 追加

さらに using

using System.Data.SqlClient;

using System.Media;

を 追加

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


using System.Data.SqlClient;

using System.Media;


namespace wa102
{
    public partial class Form1 : Form
    {
        public  string  m_sKeymain;

        private  DATA01DataSet.TABLE01DataTable  m_dtt;
        private  DATA01DataSet.TABLE01Row        m_dtr;
        private  int  m_iNew;

        public Form1()
        {
            InitializeComponent();
        }

btnRead と btnWrite を 次のように 編集します。

        private void btnRead_Click( object sender, EventArgs e )
        {
            string  swk,  skey;

            int     idata;

            tBdata.Text  =  "";

            if  (  m_dtt  !=  null  )
            {
                m_dtt.Dispose();
            }

            swk   =  tBkey.Text.PadLeft(  16,  '0'  );

            if  (  swk  ==  "0000000000000000"  )
            {
                SystemSounds.Exclamation.Play();

                tBmsg.Text  =  String.Format(  "キー 入力なし"  );

                return;
            }

            skey  =  m_sKeymain.Replace(  "+1",  swk  );

            try
            {
                m_dtt  =  this.tablE01TableAdapter1.GetData(  skey,  skey  );
            }
            catch(  SqlException  ex  )
            {
                MessageBox.Show(  ex.Message.ToString()  );

                return;
            }

            idata  =  m_dtt.Count;

            if  (  idata  >  0  )
            {
                m_dtr        =  m_dtt[ 0 ];

                tBdata.Text  =  m_dtr.DATA;

                m_iNew       =  0;

                tBmsg.Text   =  String.Format(  "更新データ です  KEY=[{0}], DATA=[{1}]",  m_dtr.KEY20,  m_dtr.DATA  );
            }
            else
            {
                m_iNew       =  1;

                tBmsg.Text   =  String.Format(  "新規作成 です"  );
            }

            ProcessTabKey(  true  );
        }

        private void btnWrite_Click( object sender, EventArgs e )
        {
            string  swk,  skey,  sdata;

            if  (  m_dtt  ==  null  )
            {
                SystemSounds.Exclamation.Play();

                tBmsg.Text  =  String.Format(  "接続 なし"  );

                return;
            }

            swk   =  tBkey.Text.PadLeft(  16,  '0'  );

            if  (  swk  ==  "0000000000000000"  )
            {
                SystemSounds.Exclamation.Play();

                tBmsg.Text  =  String.Format(  "キー 入力なし"  );

                return;
            }

            skey   =  m_sKeymain.Replace(  "+1",  swk  );

            sdata  =  tBdata.Text;

            if  (  sdata  ==  ""  |  sdata  ==  null  )
            {
                SystemSounds.Exclamation.Play();

                tBmsg.Text  =  String.Format(  "データ なし"  );

                return;
            }

            switch(  m_iNew  )
            {
                case  0:

                    m_dtr.KEY20  =  skey;

                    m_dtr.DATA   =  sdata;

                    m_dtr.EndEdit();

                    try
                    {
                        this.tablE01TableAdapter1.Update(  m_dtt  );

                        tBmsg.Text  =  String.Format(  "更新しました KEY=[{0}]",  skey  );
                    }
                    catch(  DBConcurrencyException  ex  )
                    {
                        MessageBox.Show(  ex.Message.ToString()  );
                    }

                    break;

                case  1:

                    try
                    {
                        this.tablE01TableAdapter1.Insert(  skey,  sdata  );

                        tBmsg.Text  =  String.Format(  "新規作成しました。[{0}] [{1}]",  skey,  sdata  );
                    }
                    catch(  SqlException  ex  )
                    {
                        MessageBox.Show(  ex.Message.ToString()  );
                    }

                    break;

            }  //  switch(  m_iNew  )

            m_dtt.Dispose();

            tBkey.Text   =  "";

            tBdata.Text  =  "";

            tBkey.Focus();
        }

 リビルドして 実行です。

このアプリケーションを 2つ 起動して いろいろ やってみてください。

これを難しく言うと 非接続型データアクセスによる 楽観同時実行制御 と言います。

 

 


データベース 作成 007

2007年06月09日 09時05分08秒 | VisualC# 2005

6月になってはじめての更新です。

ちょっと、修正します。

Form2 を 修正します

tBkey4 ----> tBkey20

MaxLength も 4 ----> 30

に変更してください。

プログラムのほうは Visual Studioが自動的に修正してくれます。

さらに Form2_Load も 間違えてました。

        private void Form2_Load( object sender, EventArgs e )
        {
            string[]  scmd;

            string    swk;

            int       i,  iitem;

            scmd   =  Environment.GetCommandLineArgs();

            iitem  =  scmd.Length;

            for  (  i  =  0;  i  <iitem;  i++  )
            {
                swk  =  scmd[ i ];

                switch(  i  )
                {
                    case  0:
                        break;
                    case  1:
                        m_iDisp  =  int.Parse(  swk  );
                        break;
                    case  2:
                        tBkey20.Text  =  swk;
                        break;

                }  //  switch(  i  )

            }  //  for  (  i  =  0;  i  <  iitem;  i++  )
        }

 

tBkey20 の イベント Enter を追加します。

        private void tBkey20_Enter( object sender, EventArgs e )
        {
            if  (  tBkey20.Text  !=  ""  &&  m_iDisp  ==  0  )
            {
                ProcessTabKey(  true  );

                btnOK_Click(  sender,  e  );
            }
        }

 

プロジェクトメニューから wa102のプロパティ
デバッグのコマンドライン引数に

 1 1001+1

で リビルドして実行です。

さらに、Form1 を 次のように 書きます。

 

    public partial class Form1 : Form
    {
        public  string  m_sKeymain;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load( object sender, EventArgs e )
        {
            Form2  fm2  =  new Form2();

            fm2.ShowDialog();

            m_sKeymain  =  fm2.m_sPara[ 0 ];
            
        }

        private void Form1_KeyDown( object sender, KeyEventArgs e )
        {
            switch(  e.KeyCode  )
            {
                case  Keys.Enter:
                    ProcessTabKey(  true  );
                    break;
                case  Keys.Up:
                    ProcessTabKey(  false  );
                    break;
            }
        }

        private void Form1_KeyPress( object sender, KeyPressEventArgs e )
        {
            if  (  e.KeyChar  ==  (char)Keys.Enter  )
            {
                e.Handled  =  true;
            }
        }
    }

 

これで リビルドして 実行です。

 1 1001+1 を 0 1001+1

に 変えて やってみてください。 Form2 が 表示されなければ OK です。

今日は ここまで。

解らないことは 書き込みで !

 


データベース 作成 006

2007年05月26日 10時33分09秒 | VisualC# 2005

今回から、データベースを編集できるフォームの 作成を 行います。

最初に Form2 を 追加します。

ソリューションエクスプローラ から 上から2行目 wa102 で 右クリック
追加→Windowsフォーム
ファイル名 Form2 で 追加

プロパティ
+表示 --- Font   MS ゴシック,12pt
+その他 - KeyPreview true

イベントで Load、KeyDown を 追加

関数 int m_iDisp、string[] m_sPara  = new string[1] を 追加

 

    public partial class Form2 : Form
    {
        public  int       m_iDisp;
        public  string[]  m_sPara  =  new string [1];

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load( object sender, EventArgs e )
        {

        }

        private void Form2_KeyDown( object sender, KeyEventArgs e )
        {

        }
    }

↑ こんな 感じです。

さらに フォーム上に エディットボックスとボタンを配置します。

今回の画像を参考にしてください。ボタンクリックのイベントも追加です。

 label1 の プロパティ
・配置 AutoSize -- False
・表示 BorderStyle -- FixedSingle
・表示 Text -- KEY4
・表示 TextAlign -- MiddleRight

TextBox1 の プロパティ
・デザイン (Name) -- tBkey4
・動作 MaxLength -- 4

button1 の プロパティ
・デザイン (Name) -- btnOK
・表示 Text -- OK

タブオーダーの 今日の画像を 参考にしてください

コードは次の通りです。

 

    public partial class Form2 : Form
    {
        public  int       m_iDisp;
        public  string[]  m_sPara  =  new string [1];

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load( object sender, EventArgs e )
        {
            string[]  scmd;

            string    swk;

            int       i,  iitem;

            scmd   =  Environment.GetCommandLineArgs();

            iitem  =  scmd.Length;

            for  (  i  =  0;  i  <iitem;  i++  )
            {
                swk  =  scmd[ i ];

                switch(  i  )
                {
                    case  0:
                        break;

                    case  1:
                        tBkey4.Text  =  swk;
                        break;

                }  //  switch(  i  )

            }  //  for  (  i  =  0;  i  <  iitem;  i++  )
        }

        private void Form2_KeyDown( object sender, KeyEventArgs e )
        {
            switch(  e.KeyCode  )
            {
                case  Keys.Enter:
                    ProcessTabKey(  true  );
                    break;

                case  Keys.Up:
                    ProcessTabKey(  false  );
                    break;
            }

        }

        private void btnOK_Click( object sender, EventArgs e )
        {
            int  i,  iitem;

            iitem  =  m_sPara.Length;

            for  (  i  =  0;  i  <  iitem;  i++  )
            {                
                switch(  i  )
                {
                    case  0:
                        m_sPara[ 0 ]  =  tBkey4.Text;
                        break;

                }  //  switch(  i  )

            }  //  for  (  i  =  0;  i  <  iitem;  i++  )

            this.Close();
        }
    }

リビルドして 実行です。


 


データベース 作成 005

2007年05月05日 12時13分24秒 | VisualC# 2005

データベースに データが入ったところで、ようやくプログラムの作成になります。

Visual Studio 2005を起動して wa102 で プロジェクトの 新規作成です。

Form1 の プロパティ で MSゴシックの12 に 変更します。

Form1 を ダブルクリックして Load イベントを追加

デザインに戻って プロパティから イベント KeyDown と KeyPress を 追加

再び、プロパティに 戻って KeyPreview を true にします。

 

構成は もちろん Debug から Release へ 変更です。

 

一度 リビルドして 実行です。

 

ここから 今日の 本番です。

データメニュー -> 新しいデータソースの追加
  データソース構成ウィザードを起動します。
  アプリケーションのデータの取得元: データベース で 次へ

新しい接続を クリック

データソース:Microsoft SQL Server (SqlClient)
サーバー名:コンピュータ名¥SQLEXPRESS
Windows認証
データベースの選択または入力:DATA01

接続の確認 を クリック

テスト接続に成功しました で OK

次へ、次へ

テーブルを展開して、TABLE01 を チェック で 完了

ソリューションのリビルド

ツールボックスを 表示させます。

ツールボックスの一番上に 

wa102 コンポーネント
ポインタ
DATA01DataSet
TABLE01TableAdapter

この DATA01DataSet と TABLE01TableAdapter を フォームに追加します。

リビルドして 実行です。

 


データベース 作成 004

2007年04月28日 11時07分24秒 | VisualC# 2005

円マークは ¥ 半角に 置き換えてください。

前回 データベースに 郵便番号データを 入れました。今回は 銀行データを 入れていきます。 

10020000000000573100,0573,          ,100,本店営業部          
10020000000000573101,0573,          ,101,南新町出張所        
10020000000000573102,0573,          ,102,兵庫町支店          
10020000000000573103,0573,          ,103,栗林支店            
10020000000000573104,0573,          ,104,東支店              
10020000000000573105,0573,          ,105,通町支店            
10020000000000573106,0573,          ,106,香西支店            
10020000000000573107,0573,          ,107,西宝町支店          
10020000000000573108,0573,          ,108,屋島支店            
10020000000000573109,0573,          ,109,仏生山支店          
10020000000000573110,0573,          ,110,木太支店            
10020000000000573111,0573,          ,111,高田支店            
10020000000000573112,0573,          ,112,今里支店            
10020000000000573113,0573,          ,113,中央市場支店        
10020000000000573114,0573,          ,114,勅使支店            
10020000000000573115,0573,          ,115,三条支店            
10020000000000573116,0573,          ,116,大的場出張所        
10020000000000573117,0573,          ,117,水田支店            
10020000000000573118,0573,          ,118,国分寺支店          
10020000000000573119,0573,          ,119,岡本支店            
10020000000000573120,0573,          ,120,浅野支店            
10020000000000573122,0573,          ,122,JR栗林駅出張所    
10020000000000573123,0573,          ,123,潟元支店            
10020000000000573125,0573,          ,125,円座支店            
10020000000000573126,0573,          ,126,鶴市出張所          
10020000000000573128,0573,          ,128,空港口支店          
10020000000000573129,0573,          ,129,宮脇町出張所        
10020000000000573130,0573,          ,130,源平通出張所        
10020000000000573131,0573,          ,131,福岡町支店          
10020000000000573132,0573,          ,132,伏石支店            
10020000000000573133,0573,          ,133,川島支店            
10020000000000573134,0573,          ,134,ダグ・ショップ出張所
10020000000000573135,0573,          ,135,県庁支店            
10020000000000573201,0573,          ,201,三本松支店          
10020000000000573202,0573,          ,202,津田支店            
10020000000000573203,0573,          ,203,志度支店            
10020000000000573204,0573,          ,204,長尾支店            
10020000000000573205,0573,          ,205,滝宮支店            
10020000000000573206,0573,          ,206,小豆島支店          
10020000000000573207,0573,          ,207,内海支店            
10020000000000573208,0573,          ,208,白鳥支店            
10020000000000573209,0573,          ,209,三木支店            
10020000000000573301,0573,          ,301,坂出支店            
10020000000000573302,0573,          ,302,宇多津支店          
10020000000000573303,0573,          ,303,丸亀支店            
10020000000000573304,0573,          ,304,多度津支店          
10020000000000573305,0573,          ,305,善通寺支店          
10020000000000573306,0573,          ,306,琴平支店            
10020000000000573307,0573,          ,307,詫間支店            
10020000000000573309,0573,          ,309,観音寺支店          
10020000000000573310,0573,          ,310,飯山支店            
10020000000000573311,0573,          ,311,丸亀西支店          
10020000000000573312,0573,          ,312,郡家支店            
10020000000000573313,0573,          ,313,高瀬支店            
10020000000000573314,0573,          ,314,南出張所            
10020000000000573315,0573,          ,315,坂出東支店          
10020000000000573316,0573,          ,316,満濃支店            
10020000000000573317,0573,          ,317,観音寺東支店        
10020000000000573319,0573,          ,319,土器町出張所        
10020000000000573320,0573,          ,320,綾歌支店            
10020000000000573401,0573,          ,401,川之江支店          
10020000000000573402,0573,          ,402,三島支店            
10020000000000573403,0573,          ,403,新居浜支店          
10020000000000573404,0573,          ,404,西条支店            
10020000000000573406,0573,          ,406,今治支店            
10020000000000573501,0573,          ,501,松山支店            
10020000000000573502,0573,          ,502,松山西支店          
10020000000000573504,0573,          ,504,大洲支店            
10020000000000573505,0573,          ,505,八幡浜支店          
10020000000000573506,0573,          ,506,宇和島支店          
10020000000000573507,0573,          ,507,岩松支店            
10020000000000573601,0573,          ,601,徳島支店            
10020000000000573603,0573,          ,603,鳴門支店            
10020000000000573701,0573,          ,701,高知支店            
10020000000000573801,0573,          ,801,岡山支店            
10020000000000573802,0573,          ,802,琴浦支店            
10020000000000573803,0573,          ,803,玉野支店            
10020000000000573804,0573,          ,804,倉敷支店            
10020000000000573805,0573,          ,805,岡山南支店          
10020000000000573806,0573,          ,806,今村支店            
10020000000000573807,0573,          ,807,福山支店            
10020000000000573808,0573,          ,808,倉敷小溝支店        
10020000000000573809,0573,          ,809,平井支店            
10020000000000573901,0573,          ,901,大阪支店            
10020000000000573902,0573,          ,902,弁天町支店          
10020000000000573911,0573,          ,911,東京支店            

これを コピーして c:¥data1.txt で 保存してください。

フォーマットは前回と同じです。 次のコマンドを コマンドプロンプトから入力です。

bcp  TABLE01  in  c:¥data1.txt  -T  -S コンピュータ名¥SQLEXPRESS  -f c:¥fmt1.txt

Manegement Studio を 起動して テーブルを確認してください。

うちもこんな感じで データベース使ってるよという方 ぜひ 書き込みください。

データベースは テーブル分けて リレーションくまなきゃ と 思っている方
まだまだ ですね。