Skip to content

Commit

Permalink
I have to fix the problem of #36.
Browse files Browse the repository at this point in the history
fix #36
  • Loading branch information
daisukenishino committed Aug 19, 2014
1 parent caa9d86 commit 2cbef60
Showing 1 changed file with 61 additions and 19 deletions.
80 changes: 61 additions & 19 deletions root/programs/C#/Frameworks/Tools/DaoGen_Tool/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@
//* 2012/11/21 西野 大介 デフォルト・エンコーディングをSJISに指定
//* 2012/12/21 西野 大介 HiRDB戻し検討・・・
//* 2014/01/20 西野 大介 I/O時のエンコーディング制御方式を見直し。
//* 2014/04/30 Santosh san Internationalization: Added Method to get the strings from the resource files based on the keys values passed.
//* 2014/04/30 Santosh san Internationalization:
//* Added Method to get the strings from the resource files based on the keys values passed.
//* and and replaced this method wherever hard coded values.
//* 2014/08/19 西野 大介 カラム取得時のスキーマ考慮が無かったため追加(奥井さんからの提供)
//**********************************************************************************

// データプロバイダ
Expand Down Expand Up @@ -1437,6 +1439,14 @@ private void btnLoadColumn_Click(object sender, EventArgs e)
{
try
{
#region ユーザー名取得用変数

int start = 0;
int end = 0;
string userId = "";

#endregion

// コネクション オープン
this.ConnectionOpen();

Expand Down Expand Up @@ -1728,6 +1738,11 @@ private void btnLoadColumn_Click(object sender, EventArgs e)
{
#region Oracle

// 接続文字列から"User Id"値を取得。
start = this.txtConnString.Text.IndexOf("User Id=") + "User Id=".Length;
end = this.txtConnString.Text.IndexOf(";", start);
userId = this.txtConnString.Text.Substring(start, end - start).Trim();

#region カラムの情報を取得

// カラムの情報を取得
Expand All @@ -1749,14 +1764,23 @@ private void btnLoadColumn_Click(object sender, EventArgs e)
// 有効なテーブル
if (table.Effective)
{
CColumn column = new CColumn(
(string)row["COLUMN_NAME"], (string)row["DATATYPE"],
CmnMethods.ConvertToDotNetTypeInfo((string)row["DATATYPE"]));

// ポジションをキーにしてカラムを追加
table.HtColumns_Position[row["ID"].ToString()] = column;
// カラム名をキーにしてカラムを追加
table.HtColumns_Name[(string)row["COLUMN_NAME"]] = column;
// 自分のもの以外は取らない。
if (row["OWNER"].ToString().ToUpper() == userId.ToUpper())
{
// 自分のもの
CColumn column = new CColumn(
(string)row["COLUMN_NAME"], (string)row["DATATYPE"],
CmnMethods.ConvertToDotNetTypeInfo((string)row["DATATYPE"]));

// ポジションをキーにしてカラムを追加
table.HtColumns_Position[row["ID"].ToString()] = column;
// カラム名をキーにしてカラムを追加
table.HtColumns_Name[(string)row["COLUMN_NAME"]] = column;
}
else
{
// 自分のもの以外
}
}
}
}
Expand All @@ -1783,22 +1807,40 @@ private void btnLoadColumn_Click(object sender, EventArgs e)
// 有効なテーブルのプライマリキー
if (table.Name == row1["TABLE_NAME"].ToString())
{
foreach (System.Data.DataRow row2 in dtSchmaIndexColumns.Rows)
// 自分のもの以外は取らない。
if (row1["INDEX_OWNER"].ToString().ToUpper() == userId.ToUpper())
{
// 有効なテーブルのプライマリキーのカラム
if (row1["INDEX_NAME"].ToString() == row2["INDEX_NAME"].ToString())
// 自分のもの以外
foreach (System.Data.DataRow row2 in dtSchmaIndexColumns.Rows)
{
// 列のIsKeyフラグを立てる。
CColumn column = (CColumn)table.HtColumns_Name[row2["COLUMN_NAME"].ToString()];

// nullの時があるようなので、この場合は処理しない。
if (column == null){ }
else
// 有効なテーブルのプライマリキーのカラム
if (row1["INDEX_NAME"].ToString() == row2["INDEX_NAME"].ToString())
{
column.IsKey = true;
// 自分のもの以外は取らない。
if (row2["INDEX_OWNER"].ToString().ToUpper() == userId.ToUpper())
{
// 自分のもの
// 列のIsKeyフラグを立てる。
CColumn column = (CColumn)table.HtColumns_Name[row2["COLUMN_NAME"].ToString()];

// nullの時があるようなので、この場合は処理しない。
if (column == null) { }
else
{
column.IsKey = true;
}
}
else
{
// 自分のもの以外
}
}
}
}
else
{
// 自分のもの以外
}
}
}
}
Expand Down

0 comments on commit 2cbef60

Please sign in to comment.