C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: 削除ボタンを押したときのイベント


(過去ログ 49 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■26789 / inTopicNo.1)  削除ボタンを押したときのイベント
  
□投稿者/ 初心者 (159回)-(2008/10/21(Tue) 11:04:36)

分類:[.NET 全般] 

はじめまして。
C#、 VisualStudio2005を使用して仕事をしています。
初心者なので、質問の意図が分かりづらいと思いますが、大目に見ていただけるとありがたいです。。

削除ボタンを押したときのイベントについて質問です。
画面側とDB側にアクセスするものを別々に作っています。
また、テーブルの情報なのですが、BのテーブルはAのテーブルのIDを持っていると削除できません。(REFERENCE制約)
そこで、SQL文でひとつでもBのテーブルにAのIDを持っているものがあったらfalseを返し、画面側でエラーメッセージを出す、というものを作りたいのですが、どうやってtrueかfalseかを判断させればいいのかわかりません。
(A.csでSQL文を作って、trueかfalseを返す。Aaction.csでA.csのtrueかfalseを判断し、B.aspx.csでエラーメッセージを出す。)
*****************************************************************************************************************************
<<A.cs>> public bool IsA(int aID)
{
テーブルBをnew
      using (TransactionScope ts = new TransactionScope())
{
//値を設定
B.aID = aID;

//Aの有無
B.IsAId(B.aID );

//更新する
ts.Complete();
}
//falseが返ってきたらtrueを返してエラーメッセージを出す
return true;
//trueが返ってきたらfalseを返して削除を行う
      return false;
}
**********************************************************************************************************************
<<Aaction.cs>> public bool IsAId(int aID)
{
string SQL = @"
SELECT
COUNT(*) as COUNT
FROM
B
WHERE
aID= @aID
";
using (SqlConnection connection = DaoManager.Open())
{
using (SqlCommand cmd = new SqlCommand(SQL, connection))
{
cmd.Parameters.AddWithValue("aID", aID);

int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
return true;
}
else
{
return true;
}
}
}
}


分かりづらくて申し訳ないのですが、どなたかアドバイスお願いいたします。

引用返信 編集キー/
■26791 / inTopicNo.2)  Re[1]: 削除ボタンを押したときのイベント
□投稿者/ いしだ (172回)-(2008/10/21(Tue) 11:53:59)
> どうやってtrueかfalseかを判断させればいいのかわかりません。

ソースに書いてあるように、countをとってチェックするで問題無いと思います。
それか仕様によりますが、カスケード削除するとか。
引用返信 編集キー/
■26824 / inTopicNo.3)  Re[2]: 削除ボタンを押したときのイベント
□投稿者/ 初心者 (162回)-(2008/10/21(Tue) 16:39:18)
> ソースに書いてあるように、countをとってチェックするで問題無いと思います。
> それか仕様によりますが、カスケード削除するとか。

すいません。他のやり方で解けました^^
アドバイスありがとうございました☆
解決済み
引用返信 編集キー/
■26828 / inTopicNo.4)  Re[3]: 削除ボタンを押したときのイベント
□投稿者/ みきぬ (160回)-(2008/10/21(Tue) 17:18:15)
2008/10/21(Tue) 17:18:28 編集(投稿者)

No26824 (初心者 さん) に返信
> すいません。他のやり方で解けました^^
>
どうやったのか気になる…。

解決済み
引用返信 編集キー/
■26852 / inTopicNo.5)  Re[4]: 削除ボタンを押したときのイベント
□投稿者/ 初心者 (163回)-(2008/10/22(Wed) 10:21:15)
> どうやったのか気になる…。

<<A.cs>> public bool IsA(int aID)
{
テーブルBをnew
 using (TransactionScope ts = new TransactionScope())
{
//値を設定
B.aID = aID;

//Aの有無
if((B.IsAId(B.aID ))
{
//trueを返して、エラーメッセージを出す
return true;
}

//更新する
ts.Complete();
}
return false;
}
}
}

と書き直したところ、うまくいきました。


引用返信 編集キー/
■26853 / inTopicNo.6)  Re[5]: 削除ボタンを押したときのイベント
□投稿者/ 初心者 (164回)-(2008/10/22(Wed) 10:24:10)
解決済みです^^
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -