0

データベースに挿入するステートメントがありますが、挿入後に のテーブルのデータを更新したいと考えていますwebservice。どうすればいいですか?

これは、データを挿入するための私のコードです:

 [WebMethod]
    public static void InsertStudentTransaction(string Name, string CLass, string NRIC, int StallNo, float AmountSpent, DateTime GetDate)
     {
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString))
     {

        SqlCommand command = new SqlCommand("INSERT Into StudentTransactions (Name, CLass,NRIC,StallNo,AmountSpent, TimeDate) VALUES (@Name, @CLass, @NRIC, @StallNo, @AmountSpent, @GetDate)");

        command.Parameters.AddWithValue("@Name", "Name");
        command.Parameters.AddWithValue("@CLass", "CLass");
        command.Parameters.AddWithValue("@NRIC", "NRIC");
        command.Parameters.AddWithValue("@StallNo","StallNo");
        command.Parameters.AddWithValue("@AmountSpent", "AmountSpent");
        command.Parameters.AddWithValue("@TimeDate", "GetDate");

        command.Connection.Open();
        command.ExecuteNonQuery();
     }
4

3 に答える 3

1

データベースをWebサービスから直接更新するのは良い考えだとは思いません。Webservice からユーザー データを取得し、そのデータをビジネス ロジックに渡し、ユーザーからのすべての入力を適切に検証できます。Web サービスからの入力をそのまま更新すると、後で大きな問題が発生する可能性があります。

したがって、webservice から入力を取得し、ビジネス ロジックを作成し、それをビジネス ロジックに渡してすべてを処理します。検証、ユーザー入力の正規化、データベーストランザクションなど、そこに配置する必要があるすべてのロジック。

于 2013-07-15T04:31:18.277 に答える
0

これを試して

[WebMethod]
        public static void UPDATEStudentTransaction(string Name, string CLass, string NRIC, int StallNo, float AmountSpent, DateTime GetDate)
         {
            using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString2"].ConnectionString))
         {

            SqlCommand command = new SqlCommand("UPDATE StudentTransactions set Name=@Name, CLass=@CLass,StallNo=@StallNo,AmountSpent=@AmountSpent, TimeDate=@TimeDate WHERE <condition>");

            command.Parameters.AddWithValue("@Name", Name);
            command.Parameters.AddWithValue("@CLass", CLass);
            command.Parameters.AddWithValue("@NRIC", NRIC);
            command.Parameters.AddWithValue("@StallNo",StallNo);
            command.Parameters.AddWithValue("@AmountSpent", AmountSpent);
            command.Parameters.AddWithValue("@TimeDate", GetDate);

            command.Connection.Open();
            command.ExecuteNonQuery();
         }
于 2013-07-15T04:30:22.760 に答える
0

StudentTransactionsテーブルにはIdentity、将来の更新で使用するために呼び出し元のメソッドに返す主キーとしてのフィールドが ありますか?

もしそうなら、を返すことを検討してくださいSCOPE_IDENTITY()

于 2013-07-15T04:30:41.990 に答える